redis内存满了服务会宕机根据官方提供的以下参数可以避免因为内存满而导致服务宕机:
Redis仅支持单实例,内存一般最多10~20GB。
redis设置配置文件的maxmemory参数,可以控制其最大可用内存大小(字节)。
属性默认是关闭的。maxmemory-policy 默认是noeviction
面我将列出当可用内存不足时,删除redis键具有的淘汰规则。
规则名称 | 规则说明 |
---|---|
volatile-lru | 使用LRU算法删除一个键(只对设置了生存时间的键) |
allkeys-lru | 使用LRU算法删除一个键 |
volatile-random | 随机删除一个键(只对设置了生存时间的键) |
allkeys-random | 随机删除一个键 |
volatile-ttl | 随机删除一个键 |
noeviction | 随机删除一个键 |
但是一定要注意一点!redis中并不会准确的删除所有键中最近最少使用的键,而是随机抽取3个键,删除这三个键中最近最少使用的键。
那么3这个数字也是可以设置的,对应位置是配置文件中的maxmeory-samples.这个属性默认是关闭的
Windows 下后台启动设置如下:
-
输入:redis-server --service-install redis.windows.conf --loglevel verbose ( 安装redis服务 )
-
输入:redis-server --service-start ( 启动服务 )
-
输入:redis-server --service-stop (停止服务)
启动指定的配置文件redis-server --service-start redis.windows-service.conf