redis五种数据类型详解

Redis String数据类型

	存储中文数据,读取乱码 在启动客户端的时候, 加上--raw
  1. set/get
    设置key对应的值为String类型的value
    获取key对应的值
  2. mget
    批量获取多个key的值,如果可以不存在则返回nil
  3. incr&& incrby
    incr对key对应的值进行加加操作,并返回新的值;incrby加指定值
  4. decr && decrby
    decr对key对应的值进行减减操作,并返回新的值;incrby减指定值
  5. setnx
    设置key对应的值为String类型的value,如果key已经存在则返回0 不存在返回1
  6. setex
    设置key对应的值为String类型的value,并设定有效期
  7. getrange
    获取key对应value的子字符串 类似于截取。 截取这个字符串的一部分 比如 getrange key 0 3
  8. mset
    批量设置多个key的值,如果成功表示所有值都被设置,否则返回0表示没有任何值被设置
  9. msetnx
    同mset,不存在就设置,不会覆盖已有的key
  10. append
    给指定key的value追加字符串,并返回新字符串的长度
  11. getset
    设置key的值 并返回新的值

Redis Hash数据类型

Hash是一个String类型的field和value之间的映射表
redis的Hash数据类型的key(hash表名称)对应的value实际的内部存储结构为一个HashMap
Hash特别适合存储对象
相对于把一个对象的每个属性存储为String类型,将整个对象存储在Hash类型中会占用更少内存。
所存储的成员较少时数据存储为zipmap,当成员数量增大时会自动转成真正的HashMap,此时encoding为ht。
运用场景: 如用一个对象来存储用户信息,商品信息,订单信息等等。

Hash命令讲解:
hset——设置key对应的HashMap中的field的value

hget——获取key对应的HashMap中的field的value

hgetall——获取key对应的HashMap中的所有field的value

hlen--返回key对应的HashMap中的field的数量

hmset——设置多个key对应的HashMap中的field的value

hdel——删除key对应fieid 一个或者多个

Redis List数据类型

List的命令讲解以及使用场景剖析 用户:消息队列 mq redis作为队列

lpush——在key对应的list的头部添加一个元素
lrange——获取key对应的list的指定下标范围的元素,-1表示获取所有元素
lpop——从key对应的list的头部删除一个元素,并返回该元素
rpush——在key对应的list的尾部添加一个元素
rpop——从key对应的list的尾部删除一个元素,并返回该元素
lindex——从key对应的list中根据下标查询值
lrem——删除key中对应的下标 示例:lrem key 1 值

Redis HashSet数据类型

	hashset排重

sadd——添加一个key 或多个值,
smenbers ——查看key中的值,
spop——随机移除一个元素
sdiff——求差集 求出两个key中没有的结果集
sunion——求并集 求出两个key中 所有存在的key重复的key只取一个
sinter—— 求交集 求出两个key中相同的结果集

Redis SortSet/ZSet数据类型

简介:set的基础增加顺序score,再根据score进行排序 实战:通过sortset实现排行榜

zadd ——在key对应的zset中添加一个元素 ZADD myzset 1 “on3” 2 “two” 3 “three”

zrange——获取key对应的zset中指定范围的元素,-1表示获取所有元素 zrange myzset 0 -1

zrem——删除key对应的zset中的一个元素 zrem myzset one

zrangebyscore——返回有序集key中,指定分数范围的元素列表,排行榜中运用 zrangebyscore myzset 2 3

zrank——返回key对应的zset中指定member的排名。其中member按score值递增(从小到大); 排名以0为底,也就是说,score值最小的成员排名为0,排行榜中运用 zrange myzset 0 -1 withscores

set是通过hashmap存储,key对应set的元素,value是空对象 sortset是怎么存储并实现排序的呢,hashmap存储,还加了一层跳跃表 跳跃表:相当于双向链表,在其基础上添加前往比当前元素大的跳转链接

Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多 种类型的数据结构,如 字符串(strings)、散列(hashes)、 列表(lists)、 集合(sets)、 有序集合(sorted sets)等。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值