【Redis Cluster】Docker搭建Redis集群

51 阅读2分钟

1. Docker Desktop

1.1 Volume

1.創建三個Volume

图片.png

2.查詢Volume

docker volume ls

3.創建Volume

docker volume create volumeName

1.2 Redis conf

redis.io/docs/manage…

图片.png

docker run -p 6379:6379 --name myredis -v /home/redis/redis.conf:/etc/redis/redis.conf -v /home/redis/data:/data -d redis redis-server /etc/redis/redis.conf --requirepass "root"

2. Redis

2.1 Five Data Type

redis是以key-value结构存储数据的,但是根据不同的应用场景,可以使用完全不同的value结构存储数据。
包括:String字符串,HashList链表,Set集合,ZSet有序集合

2.2 Command

1.redis command line

redis-cli

图片.png

2.set key value

set name Jim

EX:可以在set时直接设置超时秒数

PX:可以在set时直接设置超时毫秒数

NX:在执行set时,会判断redis中有没有该key值,如果有则无法set,没有则可以set成功。表示,只有第一个set数据的客户端可以成功,后续都会失败。

XX:在执行set时,会判断redis中有没有key值,有的时候才会set成功,没有则不成功。表示,使用XX的客户端没有新建的权限。

3.get key

get name

4.查詢所欲key

keys *

5.游標

遍历的是当前数据库的所有key组成的集合

SCAN cursor [MATCH pattern] [COUNT count] [TYPE type]

遍历一个set里的所有元素

SSCAN key cursor [MATCH pattern] [COUNT count]

遍历一个哈希表的所有元素,返回的list是key1,field1,key2,field2…的形式

HSCAN key cursor [MATCH pattern] [COUNT count]

遍历zset,返回的zset中包含对应的元素和它的分数score

ZSCAN key cursor [MATCH pattern] [COUNT count]

參數詳解:

  • key:set或hash里面对应的key
  • cursor:游标。
  • pattern:匹配的模式。
  • count:扫描哈希槽的数量,不是f返回的数据量,默认值为 10 。
  • type:只能用于scan命令,表示遍历特定类型的集合

图片.png


select :redis默认有16个库,默认用的是下标0库,通过该命令来切换库
dbsize : 查看当前库有多少个key
flushdb: 清空当前库的数据
flushall: 清空0-15个库的数据
keys * : 查看指定规则的key,星号是通配符,表示看所有
exists : 判断是否含有指定key `exists key`
type : 判断key的类型  `type key`
del : 删除指定key  `del key`
unlink: 删除指定key,异步操作,会先返回提示删除,也许还没删除完呢,异步的线程正在删除
expire: 为key设置过期时间
ttl : 查看key剩余过期时间,-1表示永不过期,-2表示过期key,正数表示剩余时间  `ttl key`
scan: 通过游标控制,分批次查询数据