【Redis】十大数据类型(上篇)

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

概述

【Redis】十大数据类型(上篇)
【Redis】十大数据类型(上篇)

  • 命令官网

    • 英文版:https://redis.io/commands/
    • 中文版:http://redis.cn/commands.html/
  • Key命令

    命令不区分大小写,但是key区分

    命令 说明
    keys * 查看当前库所有的key
    exists key 判断某个key是否存在,返回1表示存在,返回0表示不存在
    type key 查看你的key是什么类型
    del key 删除指定的key数据
    unlink key 非阻塞删除,仅仅将keys从keyspace元数据中删除,真正的删除会在后续异步中操作
    ttl key 查看还有多少秒过期,-1表示永不过期,-2表示已过期
    expire key 秒数 给定的key设置过期时间
    move key dbindex【0-15】 将当前数据库的 key移动到给定的数据库 db 当中
    select dbindex 切换数据库[0-15] ,默认为0,配置文件中databases 16
    dbsize 查看当前数据库key的数量
    flushdb 清空当前库
    flushall 通杀全部库
  • Redis 的过期时间设置有四种形式:

    • EXPIRE 秒——设置指定的过期时间(秒),表示的是时间间隔。
    • PEXPIRE 毫秒——设置指定的过期时间,以毫秒为单位,表示的是时间间隔。
    • EXPIREAT 时间戳-秒——设置指定的 Key 过期的 Unix 时间,单位为秒,表示的是时间/时刻。
    • PEXPIREAT 时间戳-毫秒——设置指定的 Key 到期的 Unix 时间,以毫秒为单位,表示的是时间/时刻。

redis字符串(String)

string是redis最基本的类型,一个key对应一个value。
string类型是二进制安全的,意思是redis的string可以包含任何数据,比如jpg图片或者序列化的对象 。
string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M

  • 最最常用 set key value

    set key value [NX|XX] [GET] [EX seconds|PX milliseconds|EXAT unix-time-seconds|PXAT unix-time-milliseconds|KEEPTTL]

    【Redis】十大数据类型(上篇)
    【Redis】十大数据类型(上篇)

  • 常用命令图示

    【Redis】十大数据类型(上篇)
    【Redis】十大数据类型(上篇)

  • 多值设置 mset、mget

    • mset
      • 同时设置一个或多个 key-value 对
    • mget
      • 获取所有(一个或多个)给定 key 的值
  • 获取指定区间范围内的值 getrange、setrange

    • getrange

      类似between…and的关系

      • 从零到负一表示全部
    • setrange

      设置指定区间范围内的值,格式是setrange key值 具体值
      起到覆盖

  • 数值增减 INCR key、DECR key

    一定要数值类型数据

    • INCR key

      递增

      • INCR key increment
    • DECR key

      递减

      • DECR key increment
  • 获取内容长度及内容追加 STRLEN key、APPEND key xxx

    • STRLEN key

      长度

    • APPEND key xxx

      内容追加

  • 动态设置过期时间,分布式锁

    • SETEX key 秒数 value
      【Redis】十大数据类型(上篇)
    • key不存在时才设置 SETNX key value
      【Redis】十大数据类型(上篇)
  • 先弹出老值,再建新值 getset

    【Redis】十大数据类型(上篇)

redis列表 (List)

Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)
它的底层实际是个双端链表,最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)

  • 常用命令图示

    【Redis】十大数据类型(上篇)
    【Redis】十大数据类型(上篇)

  • lpush/rpush/lrange

    没有rrange

    【Redis】十大数据类型(上篇)

  • lpop/rpop

    出栈,弹出元素

    【Redis】十大数据类型(上篇)

  • 按照索引下标获得元素(从上到下) lindex

    【Redis】十大数据类型(上篇)

  • 获取列表中的元素个数 llen

    【Redis】十大数据类型(上篇)

  • 根据值删除 lrem key 数字N 给定值v1

    解释(删除N个值等于v1的元素),LREM list3 0 值,表示删除全部给定的值。零个就是全部值

    【Redis】十大数据类型(上篇)

  • 截取索引范围内的,相当于删除索引外的 ltrim key 开始index 结束index

    截取指定索引区间的元素,格式是ltrim list的key 起始索引 结束索引

    【Redis】十大数据类型(上篇)

  • 移除列表的最后一个元素,并将该元素添加到另一个列表并返回keyrpoplpush 源列表 目的列表

    【Redis】十大数据类型(上篇)

  • 按照索引修改列表的元素 lset key index value

    【Redis】十大数据类型(上篇)

  • 在已有的值前面/后面插入新的值 linsert key before/after 已有值 插入的新值

    【Redis】十大数据类型(上篇)

redis哈希表(Hash)

Redis hash 是一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储对象。
Redis 中每个 hash 可以存储 2^32 - 1 键值对(40多亿)
本质就是KV,K不变的情况下,V拆分新的kv

  • 常用命令图示

    【Redis】十大数据类型(上篇)

  • hset/hget/hmset/hmget/hgetall/hdel

    增、查、批量增、批量查、查全部(python的dick.items())、删除

    【Redis】十大数据类型(上篇)

  • hlen KEY,获取hash内的kv键值对个数

  • hexists KEY 在KEY里面的某个值的key 判断某个值在不在里面

    存在返回1,不存在返回0

  • hkeys/hvals KEY 单独罗列key、单独罗列key对应的值

  • hincrby/hincrbyfloat 增加

    【Redis】十大数据类型(上篇)

  • hsetnx KEY key value 不存在赋值,存在了无效

    不存在赋值,存在了无效

    【Redis】十大数据类型(上篇)

  • 应用:购物车

    新增商品 → hset shopcar:uid1024 334488 1
    
    新增商品 → hset shopcar:uid1024 334477 1
    
    增加商品数量 → hincrby shopcar:uid1024 334477 1
    
    商品总数 → hlen shopcar:uid1024
    
    全部选择 → hgetall shopcar:uid1024
    

    【Redis】十大数据类型(上篇)

redis集合 (Set)

Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据,集合对象的编码可以是 intset 或者 hashtable。
Redis 中Set集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。
集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)

  • 常用命令说明

    【Redis】十大数据类型(上篇)
  • 添加元素SADD key member [member...]

    【Redis】十大数据类型(上篇)
  • SMEMBERS key 遍历集合中的所有元素

  • SISMEMBER key member 判断元素是否在集合中

  • SREM key member [member ...] 删除元素

  • scard key 统计集合里面的元素个数

  • 从集合中随机展现设置的数字个数元素,元素不删除 SRANDMEMBER key [数字]

  • SPOP key [数字] 从集合中随机弹出一个元素,出一个删一个

  • smove key1 key2 在key1里已存在的某个值 将key1里已存在的某个值赋给key2

  • 重要,集合运算

    • 集合的差集运算 A - B =》 SDIFF set1 set2
    • 集合的并集运算 A U B = 》 SUNION set1 set2
    • 集合的交集运算 A n B =》 SINTER set1 set2
    • SINTERCARD numkeys key [key ...] [LIMIT limit]
      【Redis】十大数据类型(上篇)
  • 应用:共同好友、推荐

    【Redis】十大数据类型(上篇)

redis有序集合 (ZSet)

Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数,redis正是通过分数来为集合中的成员进行从小到大的排序。
zset的成员是唯一的,但分数(score)却可以重复。
zset集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。 集合中最大的成员数为 232 - 1

  • 常用命令图示

    【Redis】十大数据类型(上篇)
    【Redis】十大数据类型(上篇)

  • 添加元素 ZADD key score member [score member ...]

    【Redis】十大数据类型(上篇)

  • 按照元素分数从小到大的顺序遍历出来 ZRANGE key start stop [WITHSCORES]

    WITHSCORES 参数不带,会返回值,带了的话会连同分数一起返回
    返回索引从start到stop之间的所有元素0

  • 倒序 zrevrange

    【Redis】十大数据类型(上篇)

  • ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count] 获取指定分数范围的元素

    limit是返回的数量,与mysql分页相似 ZRANGEBYSCORE zset1 60 90 withscores limit 0 1

    【Redis】十大数据类型(上篇)

  • ZSCORE key member 获取元素的分数

  • ZCARD key 获取集合中元素的数量

  • zrem key 某score下对应的value值 作用是删除元素

    【Redis】十大数据类型(上篇)

  • 增加某个元素的分数ZINCRBY key increment member

  • 获得指定分数范围内的元素个数ZCOUNT key min max

  • ZMPOP从键名列表中的第一个非空排序集中弹出一个或多个元素,它们是成员分数对

    【Redis】十大数据类型(上篇)

  • zrank key values值,作用是获得下标值

  • zrevrank key values值,作用是逆序获得下标值

  • 应用:根据商品销售对商品进行排序显示

    【Redis】十大数据类型(上篇)文章来源地址https://www.toymoban.com/news/detail-414093.html

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

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

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

相关文章

  • Redis Redis的数据结构 - 通用命令 - String类型命令 - Hash类型命令

    目录 Redis的数据结构: Redis命令: 通用命令:(通用指令是部分数据类型的,都可以使用的指令) KEYS查询命令: DEL删除命令: EXISTS判断命令: EXPIPE有效期设置命令: TTL查看剩余期限命令: String类型: String的3种类型: String类型的常见命令: SET插入数据命令: MSET多重插

    2024年02月09日
    浏览(46)
  • 【Redis】五大数据类型(操作命令)

    🚩Redis 键(key) 这些是 Redis 数据库中的命令,用于对数据类型进行操作和管理。以下是每个命令的含义和用法: DEL:删除一个或多个键。 DUMP:将一个键的值转储到一个字符串中。 EXPIRE:设置键的过期时间。 EXPIREAT:在给定的时间戳之后为键设置过期时间。 KEYS:返回匹配给

    2024年02月13日
    浏览(63)
  • Redis 的数据类型和命令帮助

    在 redis7 版本中,数据类型有 10 种 常规的 5 种数据类型( Strings、Lists、Sets、Sorted sets、Hashs ) 5 种不常见的( Geospatial 、Streams、 HyperLogLog 、 Bitmaps 、Bitfields) 备注:本文只介绍其中标粗的常用部分 官方参考 以下的数据类型介绍参考了官网 注意 :下面的这些命令跟 value

    2024年02月06日
    浏览(31)
  • Redis常用数据类型及常用命令

    服务端运行 配置文件需要输入完整地址 连接数据库 设置数据库密码 编辑 redis.windows.conf 文件 带端口密码地址连接数据库 利用可视化工具连接redis 连接前需启动服务端 地址: https://gitee.com/qishibo/AnotherRedisDesktopManager/releases 字符串操作命令 哈希操作命令 列表操作命令 集合操

    2024年02月11日
    浏览(65)
  • Redis_五种数据类型及操作命令

    5.1.1 简介 String类型在redis中最常见的一种类型 string类型是二制安全的,可以存放字符串、数值、json、图像数据 value存储最大数据量是512M 5.1.2 常用命令 set key value:添加键值对(下面指令可以再后添加) nx:当数据库中key不存在时,可以将key-value添加到数据库 xx: 当数据库key存在

    2024年02月13日
    浏览(40)
  • 四:redis的常见命令及5种基本数据类型

    redis官网可查看所有命令: https://www.redis.net.cn/order/ Redis 键(key) 命令 1.String(字符串) redis字符串类型: string类型的使用场景:value可以是字符串还可以是数字 计数器 统计多单位的数量 对象缓存存储 2.List(列表类型) redis中的list可以当做栈或队列使用 list的命令只有push和pop才分

    2024年02月03日
    浏览(42)
  • Redis 数据类型及其常用命令一(string、list、set、zset、hash)

    1、简介         Redis 的常用数据类型有十种,分别为:string、list、set、zset、hash、geo、hyperloglog、bitmap、bitfield、stream。熟练使用各种数据类型,能够快速结合场景进行使用。 注:我们所说的数据类型是指 value 的数据类型,key 都是字符串。 所有类型的命令查看:help @数据类

    2024年03月13日
    浏览(58)
  • Redis数据迁移过程,使用jedis客户端发送命令,需要注意string和byte类型的命令,如果使用的转换字符编码不一致,会导致丢数据

    string与byte来回转换,需要指定一样字符编码规则 详细原因请参考: 关于Java中bytes到String的转换-阿里云开发者社区   简单来说 (1)string和byte转换之间需要指定字符编码参数Charset.defaultCharset(),默认不指定的情况下,使用的是utf-8编码,所以一般情况下相互转换使用的都是同

    2023年04月09日
    浏览(90)
  • 蓝桥杯十大常见天阶功法——炎之呼吸.叁之型.动态规划--(上篇)

    友友们好(^-^)🌹🌹🌹,我是 杨枝 ,一枚在算法领域迈步的呆萌的博主呀~ 目前还是一只纯纯的菜汪🐶。 典型的又菜又爱闹那种👀,做不好很多事,说不好很多话,写题还总不Ac😅,还在努力还在前进👣。 你们对我来说都是是独一无二的呀💓 。在点开这篇文章的那一刻,

    2024年01月16日
    浏览(39)
  • Redis List类型命令 - Set类型命令 - SortedSet类型命令

    目录 List类型 什么是双向链表呢? List类型的特征: List的常用命令 LPUSH和RPUSH的区别: LPOP和RPOP的区别: LPUSH和RPUSH的使用 LPOP和RPOP的使用 LRANGE key star end:返回一段距离范围内所有的元素 BLPOP和BRPOP:它在没有该元素的时候会等待一段时间,而不是直接返回nil 问题1:如何利

    2024年02月09日
    浏览(52)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包