Redis数据结构,持久化优缺点,数据淘汰策略

1:Redis五种数据结构简介 String list set hash zset
举例如下:
1:String——字符串
127.0.0.1:6379> set name “2”
OK
127.0.0.1:6379> get name
“2”

2:Hash——字典

//建立哈希,并赋值
127.0.0.1:6379> HMSET user:001 username antirez password P1pp0 age 34
OK
//列出哈希的内容
127.0.0.1:6379> HGETALL user:001
1) “username”
2) “antirez”
3) “password”
4) “P1pp0”
5) “age”
6) “34”
//更改哈希中的某一个值
127.0.0.1:6379> HSET user:001 password 12345
(integer) 0
//再次列出哈希的内容
127.0.0.1:6379> HGETALL user:001
1) “username”
2) “antirez”
3) “password”
4) “12345”
5) “age”
6) “34”

3:List——列表
LPUSH在lists的左侧插入一个新元素,用RPUSH在lists的右侧插入一个新元素,用LRANGE命令从lists中指定一个范围来提取元素。

//新建一个list叫做mylist,并在列表头部插入元素”1”
127.0.0.1:6379> lpush mylist “1”
//返回当前mylist中的元素个数
(integer) 1
//在mylist右侧插入元素”2”
127.0.0.1:6379> rpush mylist “2”
(integer) 2
//在mylist左侧插入元素”0”
127.0.0.1:6379> lpush mylist “0”
(integer) 3
//列出mylist中从编号0到编号1的元素
127.0.0.1:6379> lrange mylist 0 1
1) “0”
2) “1”
//列出mylist中从编号0到倒数第一个元素
127.0.0.1:6379> lrange mylist 0 -1
1) “0”
2) “1”
3) “2”

4:Set——集合

//向集合myset中加入一个新元素”one”
127.0.0.1:6379> sadd myset “one”
(integer) 1
127.0.0.1:6379> sadd myset “two”
(integer) 1
//列出集合myset中的所有元素
127.0.0.1:6379> smembers myset
1) “one”
2) “two”
//判断元素1是否在集合myset中,返回1表示存在
127.0.0.1:6379> sismember myset “one”
(integer) 1
//判断元素3是否在集合myset中,返回0表示不存在
127.0.0.1:6379> sismember myset “three”
(integer) 0
//新建一个新的集合yourset
127.0.0.1:6379> sadd yourset “1”
(integer) 1
127.0.0.1:6379> sadd yourset “2”
(integer) 1
127.0.0.1:6379> smembers yourset
1) “1”
2) “2”
//对两个集合求并集
127.0.0.1:6379> sunion myset yourset
1) “1”
2) “one”
3) “2”
4) “two”

5:Sorted Set——有序集合

2:Redis 优势
性能极高,redis的读的速度11万次/s,写的速度8.1万/s
丰富的数据类型—string,map,list,sets,Sorted Set五种数据结构
丰富的特性–redis还支持通知,key的过期,publish/subscribe等特性
原子–redis所有操作都是原子性的,同时redis还支持对几个操作和并后的原子性执行

3:redis持久化的两种方式以及优缺点
RDB方式——将redis某一时刻的数据持久化到磁盘,快照式的持久化方式

AOF方式——只允许追加不允许修改的文件

redis两种持久化方式的优缺点
AOF保证数据不丢失,作为恢复数据的第一选择,RDB可以快速地进行数据恢复

4:Redis作为缓存(六种淘汰策略)
1:不删除策略——–达到最大的内存限制时,如果需要更多的内存,直接返回错误信息
2:所有的key通用—–优先删除最近最少使用的key
3:只限于设置啦expire的部分,优先删除最近最少使用的key
4:所有的key通用,随机删除一部分key
5:只限于设置啦expire的部分,随机删除一部分key
6:只限于设置啦expire的部分,优先删除剩余时间最短的key

5:redis的过期策略
定时过期—–创建定时器,立即删除过期的数据
惰性过期—–只有当访问一个key时,才会判断该key是否已过期
定期过期—–每隔一定时间,会扫描一定数量的数据库expires字典的key

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值