Redis是什么: Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 免费开源!最热门的NoSQL技术之一!
redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。读的速度是110000次/s,写的速度是81000次/s 。
Redis的作用:
Redis特性:
2.1、windows下安装
windows下使用很简单,但是Redis推荐使用Redis来开发!
2.2、Linux下安装
yum install gcc-c++
make
默认安装路径是/usr/local/下 6. redis不是默认后台启动的,需要求改一下配置文件:
daemonize后面的no改为yes。 7. 启动redis服务
redis-server redis.conf
redis-cli -p 6379
9.关闭redis服务
Redis 自带了一个叫 redis-benchmark 的工具来模拟 N 个客户端同时发出 M 个请求。 (类似于 Apache ab 程序)。你可以使用 redis-benchmark -h 来查看基准参数。
以下参数被支持:
Usage: redis-benchmark [-h <host>] [-p <port>] [-c <clients>] [-n <requests]> [-k <boolean>]
-h <hostname> Server hostname (default 127.0.0.1)
-p <port> Server port (default 6379)
-s <socket> Server socket (overrides host and port)
-a <password> Password for Redis Auth
-c <clients> Number of parallel connections (default 50)
-n <requests> Total number of requests (default 100000)
-d <size> Data size of SET/GET value in bytes (default 2)
-dbnum <db> SELECT the specified db number (default 0)
-k <boolean> 1=keep alive 0=reconnect (default 1)
-r <keyspacelen> Use random keys for SET/GET/INCR, random values for SADD
Using this option the benchmark will expand the string __rand_int__
inside an argument with a 12 digits number in the specified range
from 0 to keyspacelen-1. The substitution changes every time a command
is executed. Default tests use this to hit random keys in the
specified range.
-P <numreq> Pipeline <numreq> requests. Default 1 (no pipeline).
-q Quiet. Just show query/sec values
--csv Output in CSV format
-l Loop. Run the tests forever
-t <tests> Only run the comma separated list of tests. The test
names are the same as the ones produced as output.
-I Idle mode. Just open N idle connections and wait.
我们可以简单测试一下:
redis-benchmark -h localhost -p 6379 -c 100 -n 100000
可以看出: 100000并发、100个并发客户端,每次写如3字节,一台服务器 所有请求在8毫秒内处理完成!! 每秒处理125156.45次请求!!!