前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis的数据类型以及常用原生操作

Redis的数据类型以及常用原生操作

作者头像
名字是乱打的
发布2022-05-13 11:11:47
2060
发布2022-05-13 11:11:47
举报
文章被收录于专栏:软件工程

五种常用类型:

String,List,Set,SortedSet,Hash

1 String(它在Redis中是二进制安全的,这便意味着该类型存入和获取的数据相同。)

-常用操作

  • 赋值 :set name "小明"
  • 查看: get name
  • 修改: set name "小红"
  • 删除: del name
  • 原子增加1: incr num
  • 原子增加n: incrby num n
  • 原子减少1:decr num
  • 原子减少n:decrby num n
  • append key value:拼凑字符串。如果该key存在,则在原有的value后追加该值;如果该key不存在,则重新创建一个key/value
2 Hash(可看成map容器,适合存储对象信息)

-常用操作

  • 单赋值:hset zyh age 18;
  • 单查看:hget zyh age;
  • 多赋值:hmset zyh age 18 height 199;
  • 多查看:hmget zyh age height
  • 全查看:hgetall zyh
  • 修改:同赋值
  • 删除字段:hdel zyh 字段1/字段2名 (即可以删除一个字段和其值也可以删除多个)
  • 删除整个set:del zyh
  • 增加数字:hincrby zyh age 3
  • 判断指定字段是否存在:hexists zyh age
  • 查出set字段个数:hlen zyh
  • 获取所有字段名: hkeys zyh
  • 获取所有key值:hvalus zyh
3 List(列表:从左到右双向链表,按照String元素插入顺序排序)

-常用操作

  • 左添加: lpush mylist aaa[bbb ccc]
  • 右添加: rpush mylist aaa[bbb ccc]
  • 查看第start到end的元素: lrange mylist start+1 end+1
  • 修改:
  • 头部删除:lpop mylist 弹出并返回第一个元素(头元素),若不存在则返回nil
  • 尾部删除:rpop mylist 弹出并返回尾部第一个元素
4 Set(和List类型不同的是,Set集合通过哈希表实现不允许出现重复的元素,)

-常用操作

  • 添加:sadd zyh 111 222
  • 查看Set中所有成员:smembers zyh
  • 修改:
  • 删除指定成员(支持多删除):srem zyh 111[111 222]
  • 判断指定元素是否存在:sismember zyh 111
  • 返回集合中元素数量: scard zyh
  • set集合差集:sdiff A B      sdiffstore destination A B 将A、B相差的成员存储在destination上
  • set集合交集:sinter A B      sinterstore destination A B 将A、B相交的成员存在destination上
  • set集合并集:sunion A B      sunionstore destination A B 将A、B相交的成员存储在destination上
5 ZSET (Sorted Set(通过分数来为集合中的成员进行从小到大的排序))

Sorted-Set和Set类型极为相似,它们都是字符串的集合,都不允许重复的成员出现在一个Set中。它们之间的主要差别Sorted-Set中的每一个成员都会有一个分数(score)与之关联,Redis正是通过分数来为集合中的成员进行从小到大的排序。然而需要额外指出的是,尽管Sorted-Set中的成员必须是唯一的,但是分数(score)却是可以重复的。 在Sorted-Set中添加、删除或更新一个成员都是非常快速的操作,其时间复杂度为集合中成员数量的对数。由于Sorted-Set中的成员在集合中的位置是有序的,因此,即便是访问位于集合中部的成员也仍然是非常高效的。事实上,Redis所具有的这一特征在很多其它类型的数据库中是很难实现的,换句话说,在该点上要想达到和Redis同样的高效,在其它数据库中进行建模是非常困难的。 例如:游戏排名、微博热点话题等使用场景。

-常用操作

  • 支持多添加: zadd gread 1 zyh 2 yl
  • 范围查询(start end 为同一个即score成员本身):zrange gread start end 添加元素时候要注意的是如果分数相同,那么后添加的在前面
  • 修改:先删除再添加
  • 删除指定成员:zrem gread zyh
  • 分数在0~100的成员按照分数排名查看:zrangebyscore gread 0 100

底层结构:跳跃表

6 用于计数的HyperLogLog,用于支持存储地理位置信息的Geo

暂不了解

redis中的布隆过滤器
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 五种常用类型:
    • 1 String(它在Redis中是二进制安全的,这便意味着该类型存入和获取的数据相同。)
      • 2 Hash(可看成map容器,适合存储对象信息)
        • 3 List(列表:从左到右双向链表,按照String元素插入顺序排序)
          • 4 Set(和List类型不同的是,Set集合通过哈希表实现不允许出现重复的元素,)
            • 5 ZSET (Sorted Set(通过分数来为集合中的成员进行从小到大的排序))
              • 6 用于计数的HyperLogLog,用于支持存储地理位置信息的Geo
                • redis中的布隆过滤器
                相关产品与服务
                云数据库 Redis
                腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档