redis的数据类型和使用场景
1.基本数据类型:
(1)基本数据类型
string字符串:缓存数据、短信验证码、点赞数、幂等操作、防止短信验证码被攻击(防止同一个手机号不停的去攻击)
hash:哈希 :key filed value 购物车。
以用户id为key 商品id为field 商品数量为value,恰好构造成了购物车的3个要素
list列表:有序可重复。关注列表、朋友圈点赞
set集合:无序且唯一。共同爱好、好友推荐、共同好友
zset(sorted set)有序集合:有序且唯一。按照分数进行排序的,默认是升序。排行榜!
2.高级数据类型
bitmaps:特点:只有两个状态,0和1.使用场景:签到。
hyperloglog:特点:用来做基数统计的;有一定的误差。优点:内存占用是固定的,12k.(只是再pfmerge后才有这个优点。)使用场景:统计在线人数。
Geo:标记经纬度,使用场景:附近的人、美食、加油站。
redis的淘汰策略有哪些
共八种:
1.noeviction:当内存使用超过配置的时候会返回错误,不会驱逐任何键
2.allkeys-lru:加入键的时候,如果过限,首先通过LRU算法驱逐最久没有使用的键
3.volatile-lru:加入键的时候如果过限,首先从设置了过期时间的键集合中驱逐最久没有使用的键
4.allkeys-random:加入键的时候如果过限,从所有key随机删除
5.volatile-random:加入键的时候如果过限,从设置过期时间的键的集合中随机驱逐
6.volatile-ttl:从配置了过期时间的键中驱逐马上就要过期的键
7.volatile-lfu:从所有配置了过期时间的键中驱逐使用频率最少的键 —5.0 后才有
8.allkeys-lfu:从所有键中驱逐使用频率最少的键 —5.0后才有
redis持久化机制
1.RDB
redis默认的持久