redis的配置文件位于安装目录下,文件名为redis.conf
执行命令:vim redis.conf,进入redis配置文件
配置redis
-
bind 127.0.0.1,绑定的主机地址表示默认在本机ip下运行
-
表示redis的默认端口为:port 6379
-
daemonize no 表示默认不是以守护进程的方式运行
-
timeout 300 表示当客户端闲置多长时间后链接
-
制定在多长时间内有多少次更新操作,以下分别表示900s(15min)内有1个更改,300s(5min)内有10个更改,60s(1min)内有10000个更改
save 900 1
save 300 10
save 60 10000
Redis中的内存维护策略
redis作为优秀的中间缓存件,时常会有大量的数据,即使采取了集群部署来动态扩容,也应该即使整理内存,维护系统性能
redis中有两种解决方案
1.为数据设置过期时间
expire key time(以秒为单位)-- 这是常用的方式
setex(String key,int seconds,String value)-- 字符串独有的方式
- 除了字符串有自己独有的设置过期时间的方法外。,其他方法都需要依靠expire方法设置过期时间
- 如果没有设置过期时间,那么缓存就是永远不过期
- 如果设置了过期时间,只有又想让缓存永不过期,使用persist key
2.采用LRU(最近最少使用)算法动态的将不用的数据移除
LRU是一种内存管理的页面置换算法,
在配置文件中给的lru算法有以下几种:
- volatile-lru:设置超时时间的数据中删除最不常用的数据
- allkeys-lru:查询所有key中最近最不常用的数据进行删除
- volatile-random :在已经设置了超时时间的数据中随机删除
- allkeys-random:查询所有的key之后随机删除
- volatile-ttl:查询全部设置超时时间的数据,之后排序,将马上将要过期的数据进行删除
- noeviction:如果设置为该属性,则不会进行删除操作,如果内存溢出则报错返回
- volatile-lfu :从所有配置了过期时间的键中驱逐使用频率最少的键
- allkeys-lfu:从所有键中逐使用频率最少的键