Redis Notes
Linux 安装:
sudo apt-get update
sudo apt-get install redis-server
启动Redis服务:
redis-server
本地启动:
redis-cli
远程连接:
redis-cli -h host -p port -a password
常用命令:
// 删除[key]
DEL [key]
// 检查[key]是否存在
EXISTS [key]
// 设置过期时间(秒)
EXPIRE [key] seconds
// 移除[key]过期时间
PERSIST [key]
// 查找符合模式的[key]
[key]S pattern
// 返回剩余时间(秒)
TTL [key]
// 重命名
RENAME [key] new[key]
// 返回值的类型
TYPE [key]
// 验证密码是否正确
AUTH password
// 打印字符串
ECHO message
// 查看服务是否运行
PING
// 关闭当前连接
QUIT
// 查看信息
INFO
字符串:
设置键值:
SET [value]
获取键值:
GET [key]
获取键值长度:
STRLEN [key]
Hash
设置哈希键值:
HMSET [hashname] [key1] [value1] [key2] [value2] ...
获取哈希键值(所有):
HGETALL [hashname]
获取哈希键值(指定):
HGET [hashname] [key]
List
设置列表:
LPUSH [listname] [value]
为已存在的列表添加值:
RPUSHX [listname] [value]
获取列表值:
LRANGE [listname] 起始索引 结束索引
Set
设置集合:
SADD [key] [value] [value] ...
获取集合值:
SMEMBERS [key]
sorted set
设置有序集合:
ZADD [key] [分数] [value]
获取有序集合值(分数):
ZRANGE [key] 起始索引 结束索引 {withscores}
HyperLogLog
添加基数:
PFADD [key] [value]...
查询估算值:
PFCOUNT key [key ...]
发布订阅
应用场景:文章订阅、即时聊天等
订阅:
PSUBSCRIBE [name]
发送消息:
PUBLISH [name] [message]
模式订阅
redis支持模式匹配订阅,*为模糊匹配符。
订阅所有频道的消息:psubscribe *
订阅以news.开头的所有频道:
psubscribe news.*
取消订阅
取消普通订阅和取消模式订阅的命令。
unsubscribe bar
punsubscribe ba*
取消在官方提供的连接工具中无法模拟的。
查看订阅信息
pubsub channels [pattern]
事务
过程:开始事务->命令入队->执行事务
MULTI
...
EXEC
取消事务:
DISCARD
脚本
略
数据备份与恢复
备份:
SAVE
获取备份目录:
CONFIG GET dir
恢复:
停止redis服务
拷贝备份文件到[ dir]目录下
重新启动redis服务
安全
查看密码:
CONFIG get requirepass
设置密码:
CONFIG set requirepass [password]
生效:
AUTH [password]
性能测试
举例:
$ redis-benchmark -n 10000 -q
-
$ redis-benchmark -h 127.0.0.1 -p 6379 -t set,lpush -n 10000 -q
序号 | 选项 | 描述 | 默认值 |
---|---|---|---|
1 | -h | 指定服务器主机名 | 127.0.0.1 |
2 | -p | 指定服务器端口 | 6379 |
3 | -s | 指定服务器 | socket |
4 | -c | 指定并发连接数 | 50 |
5 | -n | 指定请求数 | 10000 |
6 | -d | 以字节的形式指定 SET/GET 值的数据大小 | 2 |
7 | -k | 1=keep alive 0=reconnect | 1 |
8 | -r | SET/GET/INCR 使用随机 key, SADD 使用随机值 | |
9 | -P | 通过管道传输 <numreq> 请求 | 1 |
10 | -q | 强制退出 redis。仅显示 query/sec 值 | |
11 | --csv | 以 CSV 格式输出 | |
12 | -l | 生成循环,永久执行测试 | |
13 | -t | 仅运行以逗号分隔的测试命令列表。 | |
14 | -I | Idle 模式。仅打开 N 个 idle 连接并等待。 |
网友评论