写在前面
今天继续学习后面的知识。
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 设置文件到各目录:
- cp redis-7.0.0/redis.conf ./master/
- cp redis-7.0.0/redis.conf ./node1/
- cp redis-7.0.0/redis.conf ./node2/
复制代码
- 设置文件修改
- master
- port 6379
- protected-mode no
复制代码 - node1
- port 6380
- protected-mode no
- replicaof <masterip> <masterport> # 例如:replicaof 192.168.40.110 6379
复制代码 - node2
- port 6381
- protected-mode no
- replicaof <masterip> <masterport> # 例如:replicaof 192.168.40.110 6379
复制代码
- 启动 Redis 实例
- cd /usr/local/soft/bigdata/redis-install
- redis-server ./master/redis.conf
- redis-server ./node1/redis.conf
- redis-server ./node2/redis.conf
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |