redis命令行
# key操作
keys # 查看所有key
randomkey # 随机查看一个key
sort # 对key排序
type # 获取类型
del # 删除一个key
rename # 改名
incr/incrby # 自增
decr/decrby # 自减
# String类型
get #获值
getrange #获取范围的值
strlen # 获取长度
set # 设值
getset # 查询替换
append # 拼接
setrange # 获取范围内集合
# hash类型
hdel # 删除元素
hget/hgetall # 获取元素
hset # 设置元素
hkeys # 获取key
hlen # 获取set集合u
# list类型
llen # 查看长度
lrange #返回范围内的数据
lrem #移除元素
lset #设置index元素
lpop/rpop # 弹出元素
lpush/rpush # 推入元素
# set类型
sadd # 添加元素
smembers # 获取元素集合
spop # 弹出
srem # 删除
# zset类型
zadd # 添加
zcount # 长度
zrem # 删除
zscore # 获取key对应的数字
zrange # 获取指定区间的元素
zrangebyscore # 按照score获取元素
zreverange # 获取排名结果,从大到小排序
zrank # 获取排名结果,从小到大排序
#### 游标操作
scan # 获取游标,相当于hscan,sscan,zscan
hscan # 获取游标
sscan # 获取游标
zscan # 获取游标
#### 判断是否存在
exists # key是否存在
hexist # 判断元素是否存在
#### key的过期操作
expire # 设置过期时间,以秒为单位
ttl # 设置过期时间,以秒为单位
pttl # 设置过期时间,以毫秒为单位
persist # 持久化,即不设置过期时间
setex # 设置过期时间,以秒为单位
##### 如果不存在则设置
setnx # String类型
hsetnx # Hash类型
##### 集合类型的集合操作
sunion # Set类型-获取并集
sdiff # Set类型-获取差集
sinter # Set类型-获取交集
##### bitmap类型操作
setbit # bitmap类型设值
getbit # 获取bitmap值
##### 批量操作
mget # String类型,批量获取
mset # String类型,批量设值
hmget # Hash类型,批量获取
hmset # Hash类型,批量设置
#### 发布订阅操作
pubsub # 发布
subscribe # 订阅
#### 事务
exec # 执行事务
multi # 标记事务代码块
watch # 监视key
unwatch # 取消监视key
discard # 取消事务
Redis配置详解
# 基础配置
port 6379 # 监听端口号,默认为6379,如果你设为 0 ,redis 将不在 socket 上监听任何客户端连接。
daemonize no #指定redis是否以守护线程的方式启动
databases 16 #创建database的数量,默认为0库
# RDB 持久化方式
save 900 1 #刷新快照到硬盘中。必须满足下列三个要求之一才会触发,即900秒内至少有1个key发生变化。
save 300 10 #在300秒内至少10个key发生变化。
save 60 10000 #在60秒之内至少有10000个可以发生变化。
stop-writes-on-bgsave-error yes #后台存储错误并停止写入命令。
rdbcompression yes #使用LZF方式压缩rdb文件。如果你想节省一些CPU可设置成'no'
rdbchecksum yes #在存储、加载rdb文件时进行校验。
dbfilename dump.rdb #设置rdb文件名。
dir ./ #设置工作目录,rdb文件会自动存放在该目录。
# AOF持久化配置
appendonly no #是否启用日志模式
appendfsync no # 有系统决定何时写,统一写,速度快
appendfsync always # 系统不缓冲,一直写,但是慢,这种方式几乎不丢失数据
appendfsync everysec #每秒写1次
no-appendfsync-on-rewrite no #相当于将appendfsync设置为no,不存在磁盘操作,只是将数据写入了缓冲区,写入速度非常快
auto-AOF-rewrite-percentage 100 #触发aof重写操作,要求本次文件大小比上次重写时要增加1(100%)倍
auto-AOF-rewrite-min-size 64mb #触发aof重写操作,至少要达到的aof文件大小
#内存淘汰策略
volatile-lru # LRU算法删除过期key
allkeys-lru # LRU算法删除key(不区分过不过期)
volatile-random # 随机删除过期key
allkeys-random # 随机删除key(不区分过不过期)
volatile-ttl # 删除快过期的key
noeviction # 禁止删除key,这如果内存不足,会直接返回错误。默认配置
# 主从服务配置
slaveof <masterip> <masterport> #将本机设为某台机器的从服务器
masterauth <master-password> #连接主服务器的密码
slave-serve-stale-data yes # 当主机和从机断开时或这正处于在复制过程中,是否让从服务器是应答请求
slave-read-only yes #设置从服务器为只读模式
repl-diskless-sync no #是否同时向多个从服务器节点同时发数据
repl-diskless-sync-delay 5 #发送数据的延迟时间
repl-ping-slave-period 10 #主节点默认每隔 10 秒对从节点发送 ping 命令
repl-timeout 60 #主从服务器超时时间(超时认为断线了),要比period设置的时间大
#如果master不能再正常工作,那么会在多个slave中,选择优先值最小的一个slave提升为master,
#优先值为0表示不能提升为master,一般在哨兵sentinel环境中使用。
slave-priority 100
#在slave和master同步后,后续的同步是否设置成TCP_NODELAY,设置成no,则redis master会立即发送同步数据,没有延迟
repl-disable-tcp-nodelay no
min-slaves-to-write 3 #主节点仅允许当能够通信的从节点数量大于等于此处的值时,才允许接受写操作;
min-slaves-max-lag 10 #从节点延迟时长超出此处指定的时间时,主节点会拒绝写入操作;
# 安全配置
requirepass foobared # 用来配置密码
rename-command CONFIG b84 #在公共环境下重命名部分敏感命令 如config、flushall等
# 限制配置
maxclients 10000 #最大连接数
maxmemory <bytes> #最大使用内存
maxmemory-policy volatile-lru #内存到极限后的处理策略
#用于提高LRU/TTL算法的精准度,在自动清理内存时,指定的数字越大,CPU消耗就越多,默认为5。
maxmemory-samples 5
# 慢查询配置
slowlog-log-slower-than 10000 #记录响应时间大于10000微秒的慢查询
slowlog-max-len 128 # 最多记录128条
命令行
# 服务端命令
time #返回时间戳+微秒
dbsize #返回key的数量
bgrewriteaof #重写aof
bgsave #后台开启子进程来执行数据持久化
save #以阻塞的方式对数据进行持久化
lastsave #返回最近一次 Redis 成功将数据保存到磁盘上的时间,以 UNIX 时间戳格式表示。
slaveof host port #设置为host:port的从服务器(数据清空,复制新的主服务器内容)
slaveof no one #变成主服务器(原数据不丢失,一般用于主服失败后)
flushdb 清空当前数据库的所有数据
flushall 清空所有数据库的所有数据
shutdown [save/nosave] 关闭服务器,保存数据,修改AOF
slowlog get 获取慢查询日志
slowlog len 获取慢查询日志条数
slowlog reset 清空慢查询
# 客戶端命令
#以易于理解和阅读的方式返回Redis服务器的各种信息、统计数值
info [server|clients|memory|stats|]
config get [配置项] #获取配置文件选项
config set [配置项] [参数值] #重新设置配置文件选项和对应参数
config rewrite #对启动Redis服务器时所指定的配置文件进行改写
config resetstat #重置info命令中的某些统计信息
debug object key #调试选项,看一个key的情况
debug segfault #该命令能够让服务器崩溃
object key (refcount|encoding|idletime)
monitor #调试用,打开控制台,观察命令
client list #列出所有连接
client kill #杀死某个连接 CLIENT KILL 127.0.0.1:6379
client getname #获取连接的名称 默认nil
client setname #设置连接名称,便于调试
# 连接命令
auth 密码 #验证登录密码(如果设置了密码)
ping #测试服务器是否可用
echo "hello www.biancheng.net" #测试服务器是否正常交互
select 0/1/2/3/4... #选择数据库0-15
quit #退出连接