Redis三种集群模式部署方式以及数据同步问题

本文详细介绍了Redis的多种部署模式,包括单机、主从、哨兵和集群模式,以及数据备份和恢复的方法。重点讲解了如何在集群模式下搭建、监控和处理宕机情况。此外,还讨论了数据同步工具redis-shake的使用,帮助读者理解和实践Redis的高可用和数据迁移。
摘要由CSDN通过智能技术生成

一:数据类型基本操作

1.0 key基本操作

  • key * 返回所有key
  • randomkey 返回随机key
  • type key 返回key的存储的类型
  • exists 判断某个可以是否存在
  • del key 删除key
  • rename key newkey 改名
  • move key 1 将key移动到1数据库
  • ttl key 查询key的生命周期(秒)
  • expire key 正整数,设置key的生命周期以秒为单位
  • pexpire key 正整数,设置key的生命周期以毫秒为单位
  • pttl key 查询可以的生命周期(毫秒)
  • perisist key 把指定key设置为永久有效

1.1String 类型

  • Set key01 value:创建key
  • get key01 获取key的值
  • mset key01 value01 key02 value02 一次设置多个key和value
  • mget key01 key02 获取多个key的值
  • append key01 value 在key01的值后面增加value
  • incr key01 自增,返回新值,需要int
  • strlen key01 获取key的长度
  • getrange key start stop 获取字符串从start 到stop范围内的值

1.2 List类型

  • lpush key value 把值插入到链表的头部
  • rpush key value 把值插入到链表的尾部
  • lpop key 返回并删除链表头部元素
  • rpop key 返回并删除链表尾部元素
  • lrange key start stop 返回[start stop] 范围内的元素
  • lrem key count value 从链表中删除value值,删除cout的绝对值个value
    count>0表示从头删除,<0表示从尾部开始删除,count =0表示删除完
    eg: lrem list_key 1 value1
  • ltrim key start stop :剪切key对应的连接,切[start stop]一段,重新赋予key
  • lindex key index 返回index索引上的值
  • llen key 计算list的元素的个数
  • linsert key after|before search value :在key链表中寻找值为search的,并在其前|后添加value
  • rpoplpush source dest :把source的末尾拿出,放在dest头部,并返回单元值
    执行后的结果
    source中尾部移除,dest中头部多了一个值。

1.3 Hash类型

hash是一个String类型的field和value的映射表,它的添加、删除操作都是O(1),hash特别适合用于存储对象

  • hset myhash field value :设置myhash 的filed为value
    eg:hset myhash name wps
    hset myhash id 111
    hset myhash address 新华社
    • hmset myhash name wps id 111 address xxx同时设置多个filed
    • hget myhash filed 获得filed的值
    • hmget myhash filed1 filed2 获取多个filed的值
    • hincrby myhash filed 1 在指定的field下加上给定的值,需要时int
    • hexists myhash filed 测试指定的filed是否存在
    • hlen myhash 返回hash的filed的数量
    • hdel myhash field 删除hash的filed
    • hkeys myhash 返回hash的所有的field
    • hvals myhash 返回hash的所有的value
    • hgetall myhash 获取某个hash中全部的field和valuse

1.4 Set集合类型

特点:无序性。确定性。唯一性

  • sadd key value1 value2 往集合里面添加元素
  • smembers key 获取集合所有的元素
  • srem key value 删除集合某个元素
  • spop key 返回并删除集合中1个随机元素(可以做抽奖,不会重复抽到某人)
  • srandmember key 随机取一个元素
  • sismember key value 判断集合是否有某个值
  • scard key 返回集合元素的个数
  • smove source dest value 把source的value的值一道dest集合中
  • sinter key1 key2 key3 求key1 和key2 key 3的交集
  • sunion key1 key2 求key1和key2 的交集
  • sdiff key1 key2 求key1 和key2 的差集
  • sinterstore res key1 key2 求key1 和key2 的交集并存在res中

1.5 Sorted Set 有序集合

概念:它在set的基础上增加了一个顺序属性,这一属性在添加元素的时候可以指定,每次指定后,zset会自动按新的值调整顺序
可以理解为两列mysql表,一列存储value 一列存储顺序,操作中key理解为zset的名字

  • zadd key score1 value1 添加元素
  • zrange key start stop [withscore] 把集合排序后,返回名次【start stop】的元素,默认是升序排列, withscres是吧score也打印出来

2 持久化方式,以及数据备份和恢复

Redis的所有数据都保存在内存中,然后不定期的通过异步方式保存到磁盘中(半持久化模式);也可以把每一次数据变化都写入到append only file (aof)里面(全持久化模式)
由于Redis的数据存储在内存中,如果没有配置持久化,redis重启后,数据就会丢失。如果开启了持久化,重启后数据会依然存在,Redis支持两种持久化方式

2.1 RDB 持久化

将Redis内存中的数据在指定的时间间隔内将数据集快照写入磁盘,默认的持久化方式,
触发方式分为手动触发和自动触发

  • 手动触发
    save
  • 自动触发
    在配置文件中添加
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值