• 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的数量。

    例如:不存在的忽略

  • 相关阅读:
    一张图进阶 RocketMQ - 消息存储
    双绞线连接网卡和集线器时的制作步骤
    从零开始学Spring Boot系列-集成MyBatis-Plus
    [Centos]Docker卸载/安装&常用命令
    【面经】特斯拉大数据开发笔经
    Spring-boot-starter-actuator的可视化spring-boot-admin
    【深度学习 Pytorch笔记 B站刘二大人 数据集加载 Dataset&DataLoader 模块实现与源码解读(7/10)】
    如何反编译jar并修改后还原为jar
    【已解决】钉钉审批流回调瞬间返回两次通知
    今天解决了一个主从延迟导致超发的问题
  • 原文地址:https://blog.csdn.net/dengfengling999/article/details/125580923