• redis笔记3


    redis-cli -h -p -a

    其中,< host>是Redis服务器的主机名或IP地址,< port>是Redis服务器的端口号,< password>是Redis服务器的密码(如果有的话)。

    set # 设置字符串

    get # 获取字符串

    del #删除字符串
    Redis支持多种数据类型,包括字符串、哈希、列表、集合和有序集合。

    1.字符串

    set  # 设置字符串
    get          # 获取字符串
    append  # 追加字符串
    incr         # 将键值加1
    decr         # 将键值减1

    601e8f1eefdd42d7891c222e22246f63.png

    2.哈希
    哈希是一种键值对集合,其中每个键都对应一个值。

    hset  # 设置哈希字段   这里的 是哈希表的键名, 是要设置的字段名, 是字段对应的值,当你设置多值得时候key,field,value要不一样,不然的话可能被替换咯
    hget          # 获取哈希字段
    hgetall               # 获取哈希所有字段和值
    hkeys                 # 获取哈希所有字段
    hvals                 # 获取哈希所有值
    hdel          # 删除哈希字段

    41e5ee256d2b4487bd2caedf20287a10.png


    3.列表
    列表是一种有序的字符串集合,可以在列表的两端进行插入和删除操作。以下是列表的命令行命令:

    lpush  # 在列表左端插入元素 ,这里的 是列表的键名, 是要插入的值。
    rpush  # 在列表右端插入元素
    lpop           # 删除列表左端元素
    rpop           # 删除列表右端元素
    lrange  # 获取列表指定范围的元素
    38c4cb26fe4c4f06996aaf36feee8e14.png

    1. 使用 LRANGE <key> <start> <stop> 命令来获取列表中指定范围的元素。
    2. LRANGE mylist 0 -1
    3. 这里的 <key> 是列表的键名,<start> 是起始索引,<stop> 是结束索引。索引从 0 开始,如果 <start><stop> 都为 -1,表示获取列表的所有元素

     

    4.集合
    集合是一种无序的字符串集合,可以进行交集、并集和差集等操作。

    sadd   # 添加集合元素
    srem   # 删除集合元素
    smembers       # 获取集合所有元素
    sinter  # 获取集合交集
    sunion  # 获取集合并集
    sdiff   # 获取集合差集

    1. SADD set1 "member1"
    2. SADD set1 "member2"
    3. SADD set2 "member2"
    4. SADD set2 "member3"
    5. SMEMBERS set1
    6. SINTER set1 set2
    7. SUNION set1 set2
    8. SDIFF set1 set2

    1447fe794fa447a8a255d1133c7d1772.png

     

    首先使用 SADD 命令向集合 set1 中添加了两个成员 "member1""member2",向集合 set2 中添加了成员 "member2""member3"。然后分别使用 SMEMBERS set1SINTER set1 set2SUNION set1 set2SDIFF set1 set2 命令来获取集合的所有成员、集合 set1set2 的交集、并集以及差集。

     

     

    5.有序集合
    有序集合是一种有序的字符串集合,每个元素都有一个分数,可以进行按分数排序、范围查询等操作。以下是有序集合的命令行命令:

    ADD
    向有序集合中添加一个成员,并指定其分数。
    ZADD mysortedset 10 "member1"
    ZADD mysortedset 20 "member2"

    ZREM
    从有序集合中移除指定成员。
    ZREM mysortedset "member1"

    ZRANGE
    按索引范围获取有序集合中的成员。
    ZRANGE mysortedset 0 -1
    ZRANGE mysortedset 0 1  # 获取前两个成员

    ZREVRANGE
    按分数倒序获取有序集合中的成员。
    ZREVRANGE mysortedset 0 -1
    ZREVRANGE mysortedset 0 1  # 按分数倒序获取前两个成员

    ZRANGEBYSCORE
    按分数范围获取有序集合中的成员。
    ZRANGEBYSCORE mysortedset 0 20
     

    111422cce0fd4233982f1d4203a7b1e1.png

    三、事务处理
    Redis支持事务处理,可以将多个命令打包成一个事务,然后一次性执行。以下是事务处理的命令行命令:

    multi         # 开始事务
    exec          # 执行事务
    discard       # 取消事务
    watch   # 监视键
    unwatch       # 取消监视
    2c0700f46d714a458efe12ce9b8fd14e.png使用 MULTI 命令开始一个事务,在 MULTI 和 EXEC 之间插入要执行的命令;使用 EXEC 命令提交事务,Redis 将按照顺序执行事务中的所有命令。如果事务中有命令执行失败,那么事务的所有命令都将不会被执行;使用 DISCARD 命令取消事务,这会清除事务队列中的所有命令,并退出事务状态。
    使用 WATCH 命令监视一个或多个键,在事务执行之前,如果这些键被其他客户端修改,则事务会被取消;取消监视(Unwatch)
    取消对所有键的监视,不再关心键的变化。

    四、发布订阅

    Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。
    Redis支持发布订阅模式,可以将多个客户端连接到同一个频道,然后将消息发布到频道中,所有订阅该频道的客户端都能收到消息。Redis的发布和订阅最大的缺点是消息不能持久化!也就是我们通过Redis发送的消息,压根在Redis当中根本没有存。

    以下是发布订阅的命令行命令:

    subscribe  # 订阅频道
    unsubscribe  # 取消订阅频道

     

    订阅端:

    127.0.0.1:6379> ping
    PONG
    127.0.0.1:6379> SUBSCRIBE dingdada  #订阅名字为 dingdada 的频道
    Reading messages... (press Ctrl-C to quit)
    1) "subscribe"
    2) "dingdada"
    3) (integer) 1
    #等待推送的信息
    1) "message"  #消息
    2) "dingdada"  #来自哪个频道的消息
    3) "hello world\xef\xbc\x81"  # 消息的具体内容
    1) "message"
    2) "dingdada"
    3) "my name is dyj\x81"
     

    发送端:

    127.0.0.1:6379> ping
    PONG
    127.0.0.1:6379> PUBLISH dingdada "hello world!"  #发送消息到dingdada 频道
    (integer) 1
    127.0.0.1:6379> PUBLISH dingdada "my name is dyj"  #发送消息到dingdada 频道
    (integer) 1

    431ede881e4047eda94ce47c79e6b3cd.png

    41c83e95d1e241d0a4ce8a3529dc55db.png

     

     

     

  • 相关阅读:
    蓝牙耳机怎么连接电脑?轻松实现无线连接
    python 执行远程shell命令tail并实时输出示例
    王杰国庆作业day6
    边界外推和边界处理--cv::copyMakeBorder()和cv::borderInterpolate()
    第五章 树和二叉树(上)【24王道数据结构笔记】
    运行谷歌开源BERT程序时遇到的bug修改记录
    Yolov4网络详解
    vue项目打包后dist目录运行方法
    RedissonCach的源码流程
    【二叉树Java】二叉树遍历前序中序后序遍历的非递归写法
  • 原文地址:https://blog.csdn.net/m0_62975692/article/details/140448562