Redis组件介绍(四)

西河刘卡车医  金牌会员 | 2024-9-1 22:26:42 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 573|帖子 573|积分 1719

写在前面

今天继续学习后面的知识。
Redis 操作命令

操作 List 相关 API


  • LPUSH

    • 说明: 将某个值加入到一个 key 列表的头部。当列表不存在时会创建。
    • 语法: LPUSH key value [value ...]
    • 返回值: 成功返回列表的元素个数,失败返回 0。

  • LPUSHX

    • 说明: 与 LPUSH 类似,但必须保证 key 存在。
    • 语法: LPUSHX key value
    • 返回值: 成功返回列表的元素个数,失败返回 0。

  • RPUSH

    • 说明: 将某个值加入到一个 key 列表的末尾。
    • 语法: RPUSH key value [value ...]
    • 返回值: 成功返回列表的元素个数,失败返回 0。

  • RPUSHX

    • 说明: 与 RPUSH 类似,但必须保证 key 存在。
    • 语法: RPUSHX key value
    • 返回值: 成功返回列表的元素个数,失败返回 0。

  • LPOP

    • 说明: 返回并移除列表左边的第一个元素。
    • 语法: LPOP key
    • 返回值: 被删除的元素。

  • RPOP

    • 说明: 返回并移除列表右边的第一个元素。
    • 语法: RPOP key
    • 返回值: 被删除的元素。

  • LRANGE

    • 说明: 获取指定下标区间内的元素。
    • 语法: LRANGE key start stop
    • 示例: LRANGE list 0 -1

  • LLEN

    • 说明: 获取列表的元素个数。
    • 语法: LLEN key

  • LSET

    • 说明: 设置指定索引的值,相当于修改这个位置的值。
    • 语法: LSET key index value

  • LINDEX

    • 说明: 获取指定索引位置的元素。
    • 语法: LINDEX key index

  • LREM

    • 说明: 删除列表中重复的元素,设置删几个,就会删几个。
    • 语法: LREM key count value
    • 说明: count 为删除的数目。

  • LTRIM

    • 说明: 保留列表中特定区间内的元素,其他元素删除。
    • 语法: LTRIM key start stop

  • LINSERT

    • 说明: 在某个元素之前或之后插入新元素。
    • 语法: LINSERT key before|after pivot value

操作 Set 相关 API


  • SADD

    • 说明: 为集合添加元素。
    • 语法: SADD key member [member ...]
    • 返回值: 添加了的元素个数。

  • SMEMBERS

    • 说明: 显示集合中的所有元素(无序)。
    • 语法: SMEMBERS key

  • SCARD

    • 说明: 返回集合中元素的个数。
    • 语法: SCARD key

  • SPOP

    • 说明: 随机返回并删除集合中的一个元素。
    • 语法: SPOP key

  • SMOVE

    • 说明: 从一个集合中移动元素到另一个集合,必须是同种范例。
    • 语法: SMOVE source destination member

  • SREM

    • 说明: 从集合中删除一个元素。
    • 语法: SREM key member [member ...]
    • 返回值: 删除的元素个数。

  • SISMEMBER

    • 说明: 判断集合中是否含有某个元素。
    • 语法: SISMEMBER key member
    • 返回值: 存在返回 1,不存在返回 0。

  • SRANDMEMBER

    • 说明: 随机返回集合中的元素,可以指定返回的个数。
    • 语法: SRANDMEMBER key [count]

  • SDIFF

    • 说明: 去掉第一个集合中其它集合含有的相同元素。
    • 语法: SDIFF key [key ...]

  • SINTER

    • 说明: 求集合的交集。
    • 语法: SINTER key [key ...]

  • SUNION

    • 说明: 求集合的并集。
    • 语法: SUNION key [key ...]

操作 ZSet 相关 API


  • ZADD

    • 说明: 添加有序集合元素。
    • 语法: ZADD key score member [score member ...]
    • 示例: ZADD zset 2 xiaohu 3 xiaohu2

  • ZCARD

    • 说明: 返回有序集合的元素个数。
    • 语法: ZCARD key

  • ZRANGE

    • 说明: 返回有序集合中指定范围的元素(升序)。
    • 语法: ZRANGE key start stop [WITHSCORES]

  • ZREVRANGE

    • 说明: 返回有序集合中指定范围的元素(降序)。
    • 语法: ZREVRANGE key start stop [WITHSCORES]

  • ZRANGEBYSCORE

    • 说明: 按照分数查找范围内的元素。
    • 语法: ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
    • 示例: ZRANGEBYSCORE zset 0 20 WITHSCORES LIMIT 0 2

  • ZRANK

    • 说明: 返回指定成员的排名(升序)。
    • 语法: ZRANK key member

  • ZREVRANK

    • 说明: 返回指定成员的排名(降序)。
    • 语法: ZREVRANK key member

  • ZSCORE

    • 说明: 显示某个元素的分数。
    • 语法: ZSCORE key member

  • ZREM

    • 说明: 移除指定成员。
    • 语法: ZREM key member [member ...]

  • ZINCRBY

    • 说明: 给指定元素增加分数。
    • 语法: ZINCRBY key increment member
    • 说明: 如果需要减分,increment 可以是负数。

操作 Hash 相关 API


  • HSET

    • 说明: 设置一个或多个 key/value 对。
    • 语法: HSET key field value [field value ...]

  • HMSET

    • 说明: 设置多个 key/value 对。
    • 语法: HMSET key field value [field value ...]

  • HSETNX

    • 说明: 设置一个不存在的 key 的值。
    • 语法: HSETNX key field value
    • 返回值: 设置成功返回 1,失败返回 0。

  • HGET

    • 说明: 获取指定 key 对应的值。
    • 语法: HGET key field

  • HGETALL

    • 说明: 获取所有 key/value 对。
    • 语法: HGETALL key

  • HMGET

    • 说明: 获取多个 key 对应的值。
    • 语法: HMGET key field [field ...]

  • HDEL

    • 说明: 删除指定的 key/value 对。
    • 语法: HDEL key field [field ...]
    • 返回值: 删除成功的个数。

  • HEXISTS

    • 说明: 判断某个 key 是否存在。
    • 语法: HEXISTS key field
    • 返回值: 存在返回 1,不存在返回 0。

  • HKEYS

    • 说明: 获取所有的 key。
    • 语法: HKEYS key

  • HVALS

    • 说明: 获取所有的 value。
    • 语法: HVALS key

  • HINCRBY

    • 说明: 为指定 key 对应的值进行加法运算(只能针对数值做运算)
    • 语法: HINCRBY key field increment

  • HINCRBYFLOAT

    • 说明: 为指定 key 对应的值增加浮点数。
    • 语法: HINCRBYFLOAT key field increment

Redis 主从复制

主从复制架构

主从复制重要用于数据冗余备份,从节点用于数据同步,但无法自动处理主节点故障。
主从复制架构图


搭建主从复制


  • 准备工作

    • 创建三个目录:master, node1, node2。
    • 拷贝 redis.conf 设置文件到各目录:
      1. cp redis-7.0.0/redis.conf ./master/
      2. cp redis-7.0.0/redis.conf ./node1/
      3. cp redis-7.0.0/redis.conf ./node2/
      复制代码

  • 设置文件修改

    • master
      1. port 6379
      2. protected-mode no
      复制代码
    • node1
      1. port 6380
      2. protected-mode no
      3. replicaof <masterip> <masterport>  # 例如:replicaof 192.168.40.110 6379
      复制代码
    • node2
      1. port 6381
      2. protected-mode no
      3. replicaof <masterip> <masterport>  # 例如:replicaof 192.168.40.110 6379
      复制代码

  • 启动 Redis 实例
    1. cd /usr/local/soft/bigdata/redis-install
    2. redis-server ./master/redis.conf
    3. redis-server ./node1/redis.conf
    4. redis-server ./node2/redis.conf
    复制代码

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

西河刘卡车医

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表