Redis学习笔记NO .1

网友投稿 698 2022-09-26 19:30:33

Redis学习笔记NO .1

1、redis简介

Redis是一个使用​​ANSI C​​​编写的​​开源​​​、支持​​网络​​​、基于​​内存​​​、可选​​持久性​​的[键值对存储数据库]它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

2、linux安装

1、下载

在线下载

$ wget $ tar xzf redis-5.0.7.tar.gz -C /root/tool //解压到指定目录 $ cd redis-5.0.7.tar.gz $ make

利用ftp等软件上传至Linux桌面

$ tar xzf redis-5.0.7.tar.gz $ cd redis-5.0.7.tar.gz $ make

注:我们需要将源码编译后再安装,因此需要安装 c 语言的编译环境!不能直接 make

yum install gcc-c++ -y

make时遇到的错误:

In file included from adlist.c:34:0: zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory #include ^ compilation terminated.

解决办法:make MALLOC=libc

2、安装

make PREFIX=/usr/local/redis instal

安装到指定目录,若没有,则创建该目录;PREFIX必须大写

3、启动服务端跟客户端

./redis-server ./redis-cli

Redis服务器默认会使用6379端口1) , 通过--port参数可以自定义端口号:

redis-server --port 6380

4、关闭

shutdown

5、docker安装redis

docker search redis //命令来查看可用版本 docker pull redis:latest //拉取官方的最新版本的镜像 docker images //查看镜像 docker run -d --name redis-test -p 6379:6379 redis --requirepass "100104"//创建并运行容器 // --requirepass 密码 -d: 后台运行容器,并返回容器ID; docker exec -it redis redis-cli -a 100104 //运行客户端 --it 交互 /*docker常用命令 1、docker ps 查看进程 2、docker container rm 删除容器 */

3、redis配置

1、redis.conf

2、内存维护策略(缓存清理策略)

属性

含义

备注

bind

限定访问的主机地

如果没有bind,就是任意ip 地址都可以访问。生产环境下,需要写自己应用服务器的ip 地址。

protected-mode

安全防护模式

如果没有指定bind 指令,也没有配置密码,那么保护模式就开启,只允许本机访问。

port

端口号

默认是6379

timeout

超时时间

默认永不超时

daemonize

是否为守护进程模式运行

守护进程模式可以在后台运行,默认是no

pidfile

进程id 文件保存的路径

配置PID 文件路径,当redis 作为守护进程运行的时候,它会把pid默认写到/var/redis/run/redis_6379.pid 文件里面

logfile

日志文件的位置

当指定为空字符串时,为标准输出,如果redis 以守护进程模式运行,那么日志将会输出到/dev/null

databases

设置数据库数量

默认是0

requirepass

设置密码

默认没有,但远程连接可能会连接不上

maxclients

最大连接数

 

maxmemory

最大占用多少内存

一旦占用内存超限,就开始根据缓存清理策略移除数据如果Redis无法根据移除规则来移除内存中的数据,或者设置了“不允许移除”,那么Redis 则会针对那些需要申请内存的指令返回错误信息,比如SET、LPUSH 等。

maxmemory-policy noeviction

缓存清理策略

(1)volatile-lru:使用LRU 算法移除key,只对设置了过期时间的键 (2)allkeys-lru:使用LRU 算法移除key (3)volatile-random:在过期集合中移除随机的key,只对设置了过期时间的键 (4)allkeys-random:移除随机的key (5)volatile-ttl:移除那些TTL 值最小的key,即那些最近要过期的key (6)noeviction:不进行移除。针对写操作,只是返回错误信息

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:使用jar包反编译形成pom工程
下一篇:Gym - 101775J Straight Master——差分
相关文章