1 Redis 数据类型
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
2 Redis高级
2.1 Redis 数据备份与恢复
save:该命令将在 redis 安装目录中创建dump.rdb文件。
bgsave:该命令在后台执行
获取redis安装目录:config get dir
2.2 Redis 安全
查看是否设置了密码验证:config get requiredpass
设置密码:config set requirepass key
设置密码后,客户端连接 redis 服务就需要密码验证,否则无法执行命令:auth password
2.3 Redis 性能测试
同时执行 10000 个请求来检测性能:redis-benchmark -n 100000
redis 性能测试工具可选参数如下所示:
序号 | 选项 | 描述 | 默认值 |
---|---|---|---|
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 连接并等待。 |
使用了多个参数来测试 redis 性能:
redis-benchmark -h 127.0.0.1 -p 6379 -t set,lpush -n 100000 -q
#100个并发连接,100000个请求
redis-benchmark -h 127.0.0.1 -p 6379 -c 100 -n 100000
#存取大小为100字节的数据包
redis-benchmark -h 127.0.0.1 -p 6379 -q -d 100
#测试脚本
redis-benchmark -h 127.0.0.1 -p 6379 -c 100 -n 100000 -q script load "redis.call('set','foo','bar')"
2.4 Redis 客户端连接
最大连接数:config get maxclients
2.5 Redis 管道技术
开启了管道操作后,往返时延已经被改善得相当低了。
2.6 Redis HyperLogLog
写入:pfadd key element [element ...]
读取:pfcount key [key ...]
2.7 Redis 发布订阅
发布:publish channel message
订阅:subscribe channel [channel ...]
2.8 Redis 事务
下表列出了 redis 事务的相关命令:
序号 | 命令及描述 |
---|---|
1 | DISCARD 取消事务,放弃执行事务块内的所有命令。 |
2 | EXEC 执行所有事务块内的命令。 |
3 | MULTI 标记一个事务块的开始。 |
4 | UNWATCH 取消 WATCH 命令对所有 key 的监视。 |
5 | WATCH key [key ...] 监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。 |
Jedis连接池操作Redis:https://gitee.com/duhongming/codes/cvr162tbl5y04gesumx3843