Redis五大数据类型以及相关操作

这篇具有很好参考价值的文章主要介绍了Redis五大数据类型以及相关操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Redis五大数据类型

key

  • keys * 查看当前库的所有键
  • exists <key> 判断某个键是否存在
  • type <key> 查看键的类型
  • del <key> 删除某个键
  • expire <key> <seconds> 为键值设置过期时间,单位秒
  • ttl <key> 查看还有多久过期,-1表示永不过期,-2表示已过期
  • dbsize 查看当前数据库中key的数量
  • flushdb 清空当前库
  • Flushall 通杀全部库

字符串string操作命令

String类型,也就是字符串类型,是Redis中最简单的存储类型

其value是字符串,不过根据字符串的格式不同,又可以分为3类:

  • string:普通字符串
  • int:整数类型,可以做自增、自减的操作
  • float:浮点类型,可以做自增、自减操作

具体操作:

  • set <key> <value> 设置指定的值
  • get <key> 获取指定的值
  • append <key> <value>将给定的追加到原值的末尾
  • strlen <key>获取值的长度
  • setnx <key> <value> 只有在key不存在时设置key的值
  • incr <key>将key中存储的数字值增1
    只能对数字值操作,如果为空,新增值为1
  • decr <key>将key中存储的数字值减1
    只能对数字之操作,如果为空,新增值为-1
  • incrby /decrby <key> 步长将key中存储的数字值增减,自定义步长
  • mset <key1> <value1> <key2> <value2>同时设置一个或多个key-value对(一个key-value设置失败,都失败)
  • mget <key1> <key2> <key3>同时获取一个或多个value
  • msetnx <key1> <value1> <key2> <value2>同时设置一个或多个key-value对,当且仅当所有给定的key都不存在
  • getrange <key> <起始位置> <结束位置>获得值的范围(两边都是闭区间)
  • setrange <key> <起始位置> <value>用覆盖所存储的字符串值,从<起始位置>开始
  • setex <key> <过期时间> <value>设置键值的同时,设置过期时间,单位秒
  • getset <key> <value>以新换旧,设置了新值的同时获取旧值

更多请查看手册Redis 字符串(String)_redis教程

列表list

1)单键多值
2)Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。
3)它的底层实际是个双向链表,对两端的操作性能很高,通过索引下标的操作中间的节点性能会较差
具体操作:

  • lpush/rpush <key> <value1> <value2>从左边/右边插入一个或多个值
  • lpop/rpop <key>从左边/右边吐出一个值。若吐完了,则key自动删除
  • rpoplpush <key1> <key2>从列表右边吐出一个值,插到列表左边(只有右出左进)
  • lrange <key> <start> <stop>按照索引下标获得元素(从左到右)
    获得全部元素:lrange <key> 0 -1
  • llen <key>获得列表长度
  • linsert <key> before <value> <newvalue>在value的前面插入newvalue
  • lrem <key> <n> <value>从左边删除n个value(从左到右)

集合set

1)Redis set对外提供的功能与list类似是一个列表的功能,特殊之处在于set是可以自动排重的,当你需要存储一个列表数据,又不希望出现重复数据时,set是一个很好的选择,并且set提供了判断某个成员是否在一个set集合内的重要接口,这个也是list所不能提供的
2)Redis的Set是string类型的无序集合。它底层其实是一个value为null的hash表,所以添加,删除,查找的复杂度都是O(1)。文章来源地址https://www.toymoban.com/news/detail-787416.html

  • sadd <key> <value1> <value2> .... 将一个或多个 member 元素加入到集合key 当中,已经存在于集合的 member 元素将被忽略。
  • smembers <key> 取出该集合的所有值。
  • sismember <key> <value>判断集合是否为含有该值,有返回true,没有返回false
  • scard <key>返回该集合的元素个数
  • srem <key> <value1> <value2> ....删除集合中的某个元素value1,value2。
  • spop <key>随机从该集合中吐出一个值(不会从集合中删除)
  • srandmember <key> <n> 随机从该集合中取出n个值。(会从集合中删除,并且集合元素为空,集合自动删除)
  • sinter <key1> <key2> 返回两个集合的交集元素
  • sunion <key1> <key2>返回两个集合的并集元素
  • sdiff <key1> <key2>返回两个集合的差集元素

哈希hash

  • hset <key> <field> <value> 给key集合中的 field键赋值value
  • hget <key1> <field> 从key1集合field取出 value
  • hmset <key1> <field1> <value1> <field2> <value2>...批量设置hash的值
  • hgetal <key>l获取所有的filed-value
  • hexists key <field>查看哈希表 key 中,给定域 field 是否存在。
  • hkeys <key>列出该hash集合的所有field
  • hvals <key>列出该hash集合的所有value
  • hincrby <key> <field> <increment>为哈希表 key 中的域 field 的值加上增量 increment
  • hsetnx <key> <field> <value>将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在

有序集合zset (sorted set)

  • zadd key score1 member[score2 member2] 向有序集合中添加一个或多个成员,或者更新已存在的成员分数(注意是分数在前,成员在后)
  • zrange key start stop [WITHSCORES] 通过索引区间返回有序集合中指定区间的成员【0,-1】查看所有,
    加上withscores后返回值会带上分数
  • zincrny key increment member 有序集合中对指定成员的分数上加上增量increment
  • zrem key member [member ...] 移除有序集合中一个或多个成员
  • zrangebyscore key min max [withscores] [limit offset count] 返回有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。有序集成员按 score 值递增(从小到大)次序排列。
  • zrevrangebyscore key max min [withscores] [limit offset count]同上,改为从大到小排列。(注意是先max 后min)
  • zrank key member: 获取sorted set中元素的排名,默认都是升序,如果要降序则在命令的Z后面添加REV即可
  • zcount <key> <min> <max> 统计该集合,分数区间内的元素个数

到了这里,关于Redis五大数据类型以及相关操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Redis五大数据类型

    Redis-Key 官网:https://www.redis.net.cn/order/ 序号 命令语法 描述 1 DEL key 该命令用于在 key 存在时删除 key 2 DUMP key 序列化给定 key ,并返回被序列化的值 3 EXISTS key 检查给定 key 是否存在,存在返回1,否则返回0 4 EXPIRE key seconds 为给定 key 设置过期时间,以秒计 5 EXPIREAT key timestamp E

    2024年02月11日
    浏览(40)
  • Redis的五大数据类型

    概述:String是redis最基本的类型,最大能存储512MB的数据,String类型是二进制安全的,即可以存储任何数据、比如数字、图片、序列化对象等 append命令:append key value,将value值追加到已存在的value值的后面,并追加操作之后的新value的长度。特殊的,当之前redis中没有该键值对存

    2024年02月05日
    浏览(69)
  • 【Redis高手修炼之路】②Redis的五大数据类型

    字符串是Redis最基础的数据类型: 字符串类型实际可以存储字符串、数字、二进制数据; Redis中的键都是字符串类型,值也支持字符串类型; 字符串类型的存储空间是有限的,最大可以存放512M的数据。 1.1.1 添加、查询、获取长度、字符串的追加 set key value 设置指定 key 的值 get

    2023年04月19日
    浏览(44)
  • Redis(二)—— 五大基本数据类型和三大特殊数据类型

    1、常用命令  批量操作: redis可以定义对象  方式(一) :以JSON格式(其实就是key-value格式)保存一个对象 方式(二) : 把对象的两个属性定义成两个key 注意,如果采用第一种方式,那么无法单独取出字段哦~ 2、使用场景 数字int类型的string作为计数器,比如统计文章的

    2024年02月15日
    浏览(39)
  • Redis的五大数据类型的数据结构

      Redis底层有六种数据类型包括: 简单动态字符串、双向链表、压缩列表、哈希表、跳表和整数数组 。这六种数据结构五大数据类型关系如下: String:简单动态字符串 List:双向链表、压缩列表 Hash:压缩列表、哈希表 Sorted Set:压缩列表、跳表 Set:哈希表、整数数组   

    2024年02月11日
    浏览(43)
  • Redis的五大数据类型及其使用场景

    redis是一个非常快速‎‎的非关系数据库‎‎解决方案。其简单的键值数据模型使 Redis 能够处理大型数据集,同时保持令人印象深刻的读写速度和可用性。‎redis提供了五种数据类型,分别是是:1、string(字符串);2、hash(哈希);3、list(列表);4、set(集合);5、sor

    2024年02月16日
    浏览(43)
  • Redis五大基本数据类型及其使用场景

    Nosql = not only sql(不仅仅是SQL) 关系型数据库:列+行,同一个表下数据的结构是一样的。 非关系型数据库:数据存储没有固定的格式,并且可以进行横向扩展。 NoSQL泛指非关系型数据库,随着web2.0互联网的诞生,传统的关系型数据库很难对付web2.0大数据时代!尤其是超大规

    2024年02月12日
    浏览(39)
  • 浅谈Redis的五大数据类型及其应用

            Redis是一种开源的内存数据结构存储系统,它支持多种数据类型,包括字符串String、列表list、集合、哈希表和有序集合。这些数据类型在Redis中有着广泛的应用场景,可以满足不同的业务需求。本文将介绍Redis的五大数据类型及其应用。 常用命令:     最常用:

    2024年02月06日
    浏览(43)
  • Redis基本数据类型常用操作以及使用场景

    单值缓存 对象缓存 分布式锁 计数器 分布式系统全局序列号       对象缓存 电商购物车 优缺点 队列 微博消息和微信公号消息  微信抽奖小程序  微信微博点赞,收藏,标签   集合操作实现微博微信关注模型 集合操作实现电商商品筛选  常用操作  Zset集合操作实现排行

    2024年02月11日
    浏览(43)
  • 【Redis】1、学习 Redis 的五大基本数据类型【String、Hash、List、Set、SortedSet】

    🍀 Redis 诞生于2009年,全称是 Re mote D ictionary S erver,远程字典服务器,是一个基于 内存的键值型 NoSQL 数据库 🍀 键值(key-value)型,value 支持多种不同数据结构,功能丰富 🍀 单线程,每个命令具备 原子性 🍀 低延迟,速度快(基于内存、IO 多路复用、良好的编码) 🍀支

    2024年02月11日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包