首页 > 学院 > 开发设计 > 正文

Redis启动后基础知识

2019-11-06 06:54:44
字体:
来源:转载
供稿:网友

Redis启动后基础知识

1、性能测试

$ cd /usr/local/bin/$ redis-benchmark ====== PING_INLINE ====== 100000 requests completed in 1.18 seconds 50 parallel clients 3 bytes payload keep alive: 199.89% <= 1 milliseconds100.00% <= 1 milliseconds84745.77 requests per second====== PING_BULK ====== 100000 requests completed in 1.20 seconds 50 parallel clients 3 bytes payload keep alive: 199.91% <= 1 milliseconds100.00% <= 1 milliseconds83194.67 requests per second====== SET ====== 100000 requests completed in 1.21 seconds 50 parallel clients 3 bytes payload keep alive: 199.74% <= 1 milliseconds99.98% <= 2 milliseconds100.00% <= 2 milliseconds82712.98 requests per second====== GET ====== 100000 requests completed in 1.21 seconds 50 parallel clients 3 bytes payload keep alive: 199.94% <= 1 milliseconds100.00% <= 1 milliseconds82644.62 requests per second====== INCR ====== 100000 requests completed in 1.20 seconds 50 parallel clients 3 bytes payload keep alive: 199.94% <= 1 milliseconds100.00% <= 1 milliseconds83682.01 requests per second====== LPUSH ====== 100000 requests completed in 1.18 seconds 50 parallel clients 3 bytes payload keep alive: 199.87% <= 1 milliseconds100.00% <= 1 milliseconds84674.01 requests per second====== RPUSH ====== 100000 requests completed in 1.19 seconds 50 parallel clients 3 bytes payload keep alive: 199.90% <= 1 milliseconds100.00% <= 2 milliseconds83822.30 requests per second====== LPOP ====== 100000 requests completed in 1.20 seconds 50 parallel clients 3 bytes payload keep alive: 199.93% <= 1 milliseconds100.00% <= 1 milliseconds83612.04 requests per second====== RPOP ====== 100000 requests completed in 1.21 seconds 50 parallel clients 3 bytes payload keep alive: 199.91% <= 1 milliseconds100.00% <= 1 milliseconds82781.46 requests per second====== SADD ====== 100000 requests completed in 1.21 seconds 50 parallel clients 3 bytes payload keep alive: 199.90% <= 1 milliseconds100.00% <= 1 milliseconds82850.04 requests per second====== SPOP ====== 100000 requests completed in 1.21 seconds 50 parallel clients 3 bytes payload keep alive: 199.87% <= 1 milliseconds100.00% <= 1 milliseconds82508.25 requests per second====== LPUSH (needed to benchmark LRANGE) ====== 100000 requests completed in 1.20 seconds 50 parallel clients 3 bytes payload keep alive: 199.89% <= 1 milliseconds100.00% <= 1 milliseconds83472.46 requests per second====== LRANGE_100 (first 100 elements) ====== 100000 requests completed in 4.32 seconds 50 parallel clients 3 bytes payload keep alive: 11.68% <= 1 milliseconds100.00% <= 2 milliseconds23158.87 requests per second====== LRANGE_300 (first 300 elements) ====== 100000 requests completed in 9.13 seconds 50 parallel clients 3 bytes payload keep alive: 10.02% <= 1 milliseconds6.94% <= 2 milliseconds99.40% <= 3 milliseconds99.84% <= 4 milliseconds99.93% <= 5 milliseconds99.97% <= 6 milliseconds99.99% <= 7 milliseconds100.00% <= 8 milliseconds100.00% <= 8 milliseconds10952.90 requests per second====== LRANGE_500 (first 450 elements) ====== 100000 requests completed in 12.65 seconds 50 parallel clients 3 bytes payload keep alive: 10.01% <= 1 milliseconds0.13% <= 2 milliseconds33.94% <= 3 milliseconds99.27% <= 4 milliseconds99.95% <= 5 milliseconds100.00% <= 5 milliseconds7903.89 requests per second====== LRANGE_600 (first 600 elements) ====== 100000 requests completed in 17.15 seconds 50 parallel clients 3 bytes payload keep alive: 10.01% <= 1 milliseconds0.06% <= 2 milliseconds1.53% <= 3 milliseconds31.57% <= 4 milliseconds93.46% <= 5 milliseconds98.06% <= 6 milliseconds99.41% <= 7 milliseconds99.89% <= 8 milliseconds99.95% <= 9 milliseconds99.98% <= 10 milliseconds99.98% <= 11 milliseconds99.98% <= 12 milliseconds99.99% <= 13 milliseconds99.99% <= 14 milliseconds99.99% <= 15 milliseconds99.99% <= 16 milliseconds100.00% <= 17 milliseconds100.00% <= 18 milliseconds100.00% <= 19 milliseconds5829.54 requests per second====== MSET (10 keys) ====== 100000 requests completed in 1.29 seconds 50 parallel clients 3 bytes payload keep alive: 196.48% <= 1 milliseconds100.00% <= 1 milliseconds77760.50 requests per second

2、单进程

单进程模型来处理客户端的请求。对读写等事件的响应是通过对 epoll 函数的包装来做到的。Redis 的实际处理速度完全依赖主线程的执行效率。

Epoll 是 linux 内核为处理大批量文件描述符而作了改进的 epoll,是 Linux 下多路复用 IO 接口 select/poll 的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统 CPU 利用率

3、默认 16 个数据库

配置文件 redis.conf

# Set the number of databases. The default database is DB 0, you can select# a different one on a per-connection basis using SELECT <dbid> where# dbid is a number between 0 and 'databases'-1databases 16

类似数组下标从零开始,初始默认使用零号库

4、Select 命令切换数据库

127.0.0.1:6379> set k1 helloOK127.0.0.1:6379> select 7OK127.0.0.1:6379[7]> get k1(nil)127.0.0.1:6379[7]> select 0OK127.0.0.1:6379> get k1"hello"

5、Dbsize 查看当前数据库的 key 的数量

127.0.0.1:6379> set k1 v1OK127.0.0.1:6379> set k2 v2OK127.0.0.1:6379> set k3 v3OK127.0.0.1:6379> dbsize(integer) 3127.0.0.1:6379> set k1 v1OK127.0.0.1:6379> set k2 v2OK127.0.0.1:6379> set class studentOK127.0.0.1:6379> dbsize(integer) 3127.0.0.1:6379> keys *1) "class"2) "k1"3) "k2"127.0.0.1:6379> keys k?1) "k1"2) "k2"127.0.0.1:6379>

6、Flushdb 清空当前库

127.0.0.1:6379> flushdbOK127.0.0.1:6379> dbsize(integer) 0127.0.0.1:6379> keys *(empty list or set)

7、Flushall 通杀全部库

27.0.0.1:6379> FLUSHALLOK127.0.0.1:6379> dbsize(integer) 0127.0.0.1:6379>

8、统一密码管理

16 个库都是同样密码,要么都 OK 要么一个也连不上

9、Redis 索引都是从零开始

10、默认端口是 6379


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表