Redis作为数据库/缓存的区别:
缓存数据“不重要”,不是全量数据,缓存应该随着访问而变化,存储热数据
Redis如果作为缓存,Redis里的数据怎么能随着业务变化,只保留热数据,因为内存大小是有限的:
1.业务逻辑确定--->Key的有效期 --->(1)一个key设置了过期时间,过期时间会随着访问延长?不对! (2)一个key设置了过期时间,如果发生了读,会剔除过期时间 (3)倒计时且不能延长 (4)定时
设置过期时间的两种方式:
(1)set key value ex 过期时间
(2)EXPIRE key 过期时间
定时的命令:
EXPIREAT key 过期时间
2.业务运转--->内存是有限的,随着访问的变化,应该淘汰掉冷数据--->内存设置多大:
Redis的配置参数:(1)maxmemory <bytes> (2)maxmemory-policy noeviction
以下是参数
LFU 最少使用的(碰了多少次)
LRU 最近最少使用(多久没碰它)