• Redis:Redis的数据结构、key的操作命令



    目录:

    (1)Redis的5种数据结构

    (2)key的操作命令1

    (3)key的操作命令2

    (4)key的操作命令3


    (1)Redis的5种数据结构

    1.字符串类型 string

    字符串类型是Redis中最基本的数据结构,它能存储任何类型的数据,包括二进制数

    据,序列化后的数据,JSON化的对象甚至是一张图片。最大512M。

    2.列表类型 list

    Redis列表是简单的字符串列表,按照插入顺序排序,元素可以重复。你可以添加一个元素到列表的头部(左边)或者尾部(右边),底层是个链表结构。

    3.集合类型 set

    Redis的Set是string类型的无序无重复集合。

    4.哈希类型 hash

             Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。

    5.有序集合类型 zset (sorted set)

    Redis 有序集合zset和集合set一样也是string类型元素的集合,且不允许重复的成员。

    不同的是zset的每个元素都会关联一个分数(分数可以重复),redis通过分数来为集合中的成员进行从小到大的排序。

    Redis有一系列的命令来操作Redis的数据结构

    (2)key的操作命令1

    1.keys

    语法:keys pattern

    作用:查找所有符合模式pattern的key.  pattern可以使用通配符。

    通配符:

    1. *:表示0或多个字符,例如:keys * 查询所有的key。
    2. ?:表示单个字符,例如:wo?d , 匹配 word , wood
    3. [] :表示选择[]内的一个字符,例如wo[or]d, 匹配word, wood, 不匹配wold、woord

     keys * :查询所有的key

     keys k * :通配匹配,查询所有以k开头的key

    keys h*o :查询所有以h开头,以o结尾的key

     keys h?o :查询所有以h开头,o结尾,并且中间只有一个字符的key

     keys h[abc]llo :查询所有以h开头,以llo结尾,并且h后面只能去abc中一个字符的key

     (3)key的操作命令2

     

     

    1.exists

    语法:exists key [key…]

    作用:判断key是否存在

    返回值:整数,存在key返回1,其他返回0。使用多个key,返回存在的key的数量。

     例如:返回0或1

     返回存在个数:

    Redis默认有16个库,有这种需求把一个数据移动到第二个库:(用的不多)

    2.move

    语法:move key db

    作用:移动key到指定的数据库,移动的key在原库被删除。

    返回值:移动成功返回1,失败返回0.

    把k移动到2号库:

    3.ttl

    语法:ttl key

    作用:查看key的剩余生存时间(ttl: time to live),以秒为单位。

    返回值:

    1. -1 :没有设置key的生存时间, key永不过期。
    2. -2:key不存在

    例如:2号库没有k1,返回-2,1号库有k1,返回-1

     

    4.expire

    语法:expire key seconds

    作用:设置key的生存时间,超过时间,key自动删除。单位是秒。

    返回值:设置成功返回数字 1,其他情况是 0 。

     给k2设置存在时间:设置20秒超过时间删除 

    (3)key的操作命令3

    1.type

    语法:type key

    作用:查看key所存储值的数据类型

    返回值:字符串表示的数据类型

    1. none (key不存在)
    2. string (字符串)
    3. list (列表)
    4. set (集合)
    5. zset (有序集)
    6. hash (哈希表)

     例如:

    2.rename   (key不推荐修改)

    语法:rename key newkey

    作用:将key改为名newkey。当 key 和 newkey 相同,或者 key 不存在时,返回一个错误。

    当 newkey 已经存在时, RENAME 命令将覆盖旧值。

     例如:重命名hello:

    3.del

    语法:del key [key…]

    作用:删除存在的key,不存在的key忽略。

    返回值:数字,删除的key的数量。

    例如:不存在的忽略

  • 相关阅读:
    fsync
    HTML+CSS画一个卡通中秋月饼
    在Node.js中,什么是中间件(middleware)?它们的作用是什么?
    深度学习 opencv python 实现中国交通标志识别 计算机竞赛_1
    数据结构--java实现稀疏数组和队列
    error: LNK2001: 无法解析的外部符号 “public: virtual struct QMetaObject const * __cdecl
    Win11打不开exe应用程序怎么办?Win11无法打开exe程序解决方法
    测试人生 | 资深外包逆袭大厂测试开发:面试官的“歧视”表情深深刺痛了我
    用HTML+CSS做一个简单的新闻门户 1页网页
    自学python书籍推荐,请多多列举?
  • 原文地址:https://blog.csdn.net/dengfengling999/article/details/125580923