Redis基本数据类型

Redis

大名鼎鼎的redis估计是无人不知,redis作为一个缓存数据库,是非常优秀的存在,主要有三个特点:

  • redis支持数据的持久化,可以将缓存中的数据保存到磁盘中;
  • redis支持五种结构的数据,string、hash、list、set、zset;
  • redis支持数据的备份,支持master-slave模式数据备份。

优势:

  1. redis的速度很快,读速度是每秒110000次,写速度是81000次,所以性能很好。
  2. 数据类型丰富,支持各种业务场景下的应用。
  3. redis的单条操作都是原子操作,也支持事务,即多条操作要么都成功,要么都不成功。
  4. 提供丰富的特性,比如发布订阅模型,可以把它当作消息队列使用。

基本数据类型:

string

string类型是最基本的类型,key-value的格式存储,就是编程时的map关系,最大值为512MB,redis的string是sds字符串,非常高效,且节约内存。

最常用的操作就是set和get操作:

set str s
get str
hash

hash本来就是key-value型的数据结构,在redis中hash类似于json的结构,一个key-[k-v,k-v…],也就是说,一个key下面存储着多个k-v结构。比如:xiaowang-[name-xiaowang,age-15,high-185]

主要就是这么一个结构,常用操作就是:

hmset xiaowang name xiaowang age 15 high 185 //设置一个hash记录
hget xiaowang name//获取某一个字段的值
hgetall xiaowang //获取所有字段
list

list这个类型就相当于C++中的vector,或者更形象的就是python中的list,还支持切片操作,其实就跟python的非常相似。

常用操作:

lpush list 1//左插入一条
lrange list 1 10//取范围1-10的元素,切片操作

set

集合是无序的,元素不能重复,redis的集合是通过hash表实现的,所以增删改查的时间复杂度都是O(1),C++中的set和map底层使用红黑树实现,性能略低。

集合,常用操作

sadd key 1
sadd key 2
smembers key
zset

有序集合,zset中每一个元素都关联一个double的权重,元素按照权重从小到大排序。元素唯一,权重可以重复

常用操作:

zadd key score member
zrangebyscore key 0 1000//取某个分数之间的元素

总结:

redis中这五种类型可以适用在不同的业务场景,具体业务场景选取具体的数据类型。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值