首先,如果我们希望通过配置文件来配置redis并启动的话,需要将解压后的文件夹中的redis.conf复制到安装的redis目录下。
cp redis.conf /home/redis
并且启动redis的时候,需要加上配置文件的路径。
./redis-server /home/redis/redis.comf
使用less -mN redis.conf查看配置文件。
1.redis默认不使用守护进程启动,可以通过配置改变
daemonize no //将no改为yes就是守护进程
2.当redis以守护进程启动时,会将pid写入文件,可以用pidfile设置
pidfile /var/run/redis_6379.pid
3.指定端口(6379代表了一个歌手)
port 6379
4.绑定主机地址,如果绑定了127.0.0.1,就不可以远程连接了
bind 127.0.0.1
5.当客户端闲置多久关闭连接(0代表关闭该功能)
timeout 300
6.设置数据库数量,默认为0,最多为16个(0-15)
databases 16 //可以使用select 指定数据库id
7.指定更新本地的时间(可以同时配置多个条件)
save <seconds> <changes> //在seconds时间内做了changes次改变
8.可以指定是否采用压缩模式(若想节省CPU时间,数据库文件会变得很大)
rdbcompression yes //默认开启LZF压缩
9.指定本地数据库名字,存放目录
dbfilename dump.rdb //dump.rdb数据库名字
dir ./ //放在和bin同级的目录
10.设置redis连接密码,客户端加上AUTH 连接
requirepass foobared
客户端连接:
./bin/redis-cli -h IP地址 -p 端口 -a 密码
11.可以指定同一时间连接的客户端数目
maxclients 128
12.指定Redis最大内存限制
maxmemory <byte> //默认156M
当达到最大内存时,redis会先尝试清除快要到期的的key,如果还是不够,就不能进行写操作了,但是可以进行读操作。
redis的VM机制,将key放在内存中,将value放在swap区。
内存管理的一种页面置换算法,对于在内存中但又不用的数据块(内存块)叫做LRU,操作系统会根据哪些数据属于LRU而将其移出内存而腾出空间来加载另外的数据。
1.volatile-ru:设定超时时间的数据中,删除最不常使用的数据
2.allkeys-ru:查询所有的key中最近最不常使用的数据进行删除,这是应用最广泛的策略
3.volatile-random:在已经设定了超时的数据中随机删除.
4.allkeys-random:查询所有的key,之后随机删除
5.volatile-ttl:查询全部设定超时时间的数据,之后排序,将马上将要过期的数据进行删除操作
6.Noeviction:如果设置为该属性,则不会进行删除操作,如果内存溢出则报错返回
7.volatile-fu:从所有配置了过期时间的键中驱逐使用频率最少的键
8.allkeys-lfu:从所有键中驱逐使用频率最少的键
一、非正常关闭(断电、杀死进程,容易造成数据丢失)
ps -ef | grep -i redis
kill -9 PID
二、正常关闭(数据不易丢失)
./bin/redis-cil shutdown
如果有密码,需要先登录,再使用shutdown关闭
正常关闭的话,在内存中的数据会储存到本地数据库中。