-- String
set {key} {value} 设置keyvalue
get {key} 根据key获取value
incr {key} 自增
decr {key} 自减
incrby {key} {num} 自增自定义的数值
decrby {key} {num} 自减自定义的数值
-- Hash
hset {key} {key value} hash设置值
hget {key} {key} hash获取值
hmset {key} {key value} {key value}.. hash同时设置多个值
hgetall {key} 获取hash里的所有值
-- 链表
lpush {key} {value} 从左侧放入数据
rpush {key} {value} 从右侧放入数据
lrange {key} 0 -1 '0'第一个 '-1'最后一个
lpop {key} 把左侧的数据拿出
rpop {key} 把右侧的数据拿出
-- Set
sadd {key} {value} 向集合里添加元素
smembers {key} 获取集合里的元素
srem {key} {value} 移除value元素
spop {key} 随机移除一个元素
sinter {key} {key} 求交集
sunion {key} {key} 求并集
sdiff {key} {key} 求差集
-zSet
zadd {key} 权重值 {value} 添加
zrange {key} 0 -1 '0' 第一个 '-1'最后一个
zrange {key} 0 -1 withscores 显示权重信息
redis安全认证(默认不需要认证)
redis.conf文件 里的 requirepass {密码}
auth {密码} 验证密码
redis持久化方案(基于快照)
redis.conf文件 里的save
save 900 1 含义:如果在900s内,对redis的key进行了一次操作,则会把内存里的数据同步到磁盘文件
save 300 10 含义:如果在300s内,对redis的key进行了十次操作,则会把内存里的数据同步到磁盘文件
save 60 10000 含义:如果在60s内,对redis的key进行了一万次操作,则会把内存里的数据同步到磁盘文件
dbfilename dump.db 基于快照持久化保存文件的名称
dir ./ 保存的目录,相对于redis-server的路径
save命令 手动触发快照的保存 阻塞当前
bgsave命令 手动触发快照的保存 不阻塞异步 lastsave获取最后一次成功执行快照的时间
redis持久化方案(基于日志文件)
redis.conf文件 里的
appendonly yes 开启基于文件追加方式的持久化
appendfilename 文件的名称
appendfsync 备份文件的周期
(always 只要存在对redis数据进行操作就会记录到磁盘)
(everysec 每1s进行一次把对redis数据进行操作的数据都会记录)
(no 完成交给操作系统来完成,os不忙的时候把对redis数据进行操作的数据进行记录)
redis默认有16个库select {num} 从0开始 换库
keys {*} 获取redis里面所有的key
dbsize 查看当前数据库的key的数量
flushdb 清空当前库的所有key
flushall 清空所有库的key
exists {key} 是否存在该key
move {key} {db} 把当前库的key移到db号库中
expore {key} {秒数} 为指定的key设置过期时间
ttl {key} 查看还有多少秒过期 -1表示永不过期 -2表示已过期
type {key} 查看key的类型
redis主从复制(哨兵模式)
在redis目录下新建sentinel.conf(名字必须一致)
配置哨兵 内容:sentinel monitor 主机名称(自定义) 127.0.0.1(IP地址) 6379(端口号)1(票数,多于1票就做主库)
启动哨兵 命令:Redis-sentinel sentinel.conf