Redis
Redis 官网http://www.redis.cn/
简介
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统
作用
- 数据库
- 缓存
- 消息中间件。消息队列
支持多种类型的数据结构
- 字符串(strings)
- 散列(hashes)
- 列表(lists)
- 集合(sets)
- 有序集合(sorted sets)
- bitmaps,
- hyperloglogs
- geospatial
Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。
redis八卦
+ 端口:6379(粉丝效应)
redis-benchmark基准性能测试
简介
redis-benchmark是Redis自带的基准性能测试工具, 它提供了很多选项帮助开发和运维人员测试Redis的相关性能。
参数
-q 仅仅显示redis-benchmark的requests per second信息
-r 不仅仅写入三个键值,-随机写入更多数值,-r不代表随机数的个数,而是对后几位进行改变。例如:-r 1000 就插入set one 10000343,对后三位变化。
-P 代表每个请求pipeline的数据量(默认为1)
-k 代表客户端是否使用keepalive, 1为使用, 0为不使用, 默认值为1
-t 可以对指定命令进行基准测试 例如:redis-benchmark -t get,set
--csv 选项会将结果按照csv格式输出, 便于后续处理, 如导出到Excel等。
结果分析
50个客户端同时请求Redis,一共一万次。默认只会有三个键值来回写入,可以通过keys *看到。
redis-benchmark -c 50 -n 10000
====== MSET (10 keys) ======
10000 requests completed in 0.13 seconds #总共1万次,0.13秒完成
50 parallel clients #50并发
3 bytes payload #每个请求3字节
keep alive: 1
97.81% <= 1 milliseconds #97.81%的命令执行时间小于1毫秒
99.23% <= 2 milliseconds
100.00% <= 2 milliseconds
77519.38 requests per second #每秒可以处理77519.38次get请求
常用命令
> redis命令总结 http://redisdoc.com/string/index.html