1. Docker Desktop
1.1 Volume
1.創建三個Volume
2.查詢Volume
docker volume ls
3.創建Volume
docker volume create volumeName
1.2 Redis conf
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字符串,Hash,List链表,Set集合,ZSet有序集合
2.2 Command
1.redis command line
redis-cli
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命令,表示遍历特定类型的集合
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: 通过游标控制,分批次查询数据