redis只存热点高频的数据
1.生产上Redis的内存设置为多少(在conf文件夹里面进行配置)
maxmemory 决定redis的默认配置(它的单位为:字节类型)
默认的redis内存大小:在64位的操作系统下是不限制内存大小,如果是32位操作系统最大内存为3GB
生产推荐是占物理内存的四分之三
修改内存设置的两种方式:
1.conf文件进行配置
2.redis动态进行修改
进行redis内部:操作命令

#设置最大内存
config set maxmemory 1024
#获取相关信息
config get maxmemory
#查看redis的各种状态
info
#查看redis内存状态
info maxmemory

2.Redis内存打满(redis的的内存超过了最大限定)还往redis里面添加数据的话,redis会出现OOM异常。可以使用redis的redis的内存淘汰策略解决这个问题

redisdemo redis的默认内存大小_Redis


3.redis的内存淘汰机制

redisdemo redis的默认内存大小_数据_02


过期键不会立即删除的原因:

redisdemo redis的默认内存大小_redis_03


redis的三种删除策略:

1.定时删除

对cpu很不友好,用处理器性能换取存储空间(以时间换空间)

2.懒惰删除

数据到达过期时间不做处理,等下次访问该数据时判断过期是否过期,如果没有过期则返回数据,如果已过期则删除数据,返回不存在。

确定:对内存不友好(以空间换取时间)

redisdemo redis的默认内存大小_redis_04


3.定期删除

采用的是定期随机抽取的策略

redisdemo redis的默认内存大小_redis_05


redisdemo redis的默认内存大小_maxmemory_06


两种设置定期设置的方法:

1.修改conf文件:maxmemory-policy allkeys-lru

2.进入redis容器,使用命令进行修改

config set maxmemory-policy allkeys-lru