Redis系列 —— 配置文件以及关闭

配置文件Redis.conf解读

  首先,如果我们希望通过配置文件来配置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区。

解决Redis内存会溢出的问题

一、设置key的有效时间

二、采用LRU算法动态将不用的数据删除。

  内存管理的一种页面置换算法,对于在内存中但又不用的数据块(内存块)叫做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:从所有键中驱逐使用频率最少的键

关闭Redis

一、非正常关闭(断电、杀死进程,容易造成数据丢失)

ps -ef | grep -i redis
kill -9 PID 

二、正常关闭(数据不易丢失)

./bin/redis-cil shutdown
如果有密码,需要先登录,再使用shutdown关闭

正常关闭的话,在内存中的数据会储存到本地数据库中。

你可能感兴趣的:(redis)