redis使用指南(一)
redis使用指南
一、Redis简介
redis展开来看就是remote directory server。redis是开源的,基于内存的数据结构存储,可以作为数据库,缓存系统或者消息队列。它支持数据结构有字符串、列表(数组)、hashes(关联数组)、集合、有序集合、bitmaps(位图)、hyperloglogs、空间索引,十分的强大。redis有内建的复制功能,支持lua脚本,LRU算法,事务,持久存储并且支持高可用(sentinel,redis cluster)。以下是redis的特点总结:
二、Redis安装
由于redis功能十分的强大,应用十分的广泛,目前已经被收录到了epel仓库,因此我们只需要将yum仓库指向epel仓库即可。因此这里安装十分的简单,直接yum install -y redis。注意我这里安装的是redis3.2版本,目前官方最新版本为redis4。下载安装方式十分简单。如有想法,请戳网址
https://redis.io/download
三、配置文件详解
通常rpm安装的软件包,我们可以通过如下命令查看程序相关的配置文件
[root@mysql ~]# rpm -ql redis/etc/logrotate.d/redis/etc/redis-sentinel.conf #监控(哨兵)配置文件/etc/redis.conf #主配置文件/etc/systemd/system/redis-sentinel.service.d/etc/systemd/system/redis-sentinel.service.d/limit.conf/etc/systemd/system/redis.service.d/etc/systemd/system/redis.service.d/limit.conf/usr/bin/redis-benchmark/usr/bin/redis-check-aof/usr/bin/redis-check-rdb/usr/bin/redis-cli #redis客户端程序/usr/bin/redis-sentinel/usr/bin/redis-server #redis服务端程序/usr/bin/redis-shutdown/usr/lib/systemd/system/redis-sentinel.service/usr/lib/systemd/system/redis.service/usr/lib/tmpfiles.d/redis.conf/usr/share/doc/redis-3.2.3/usr/share/doc/redis-3.2.3/00-RELEASENOTES/usr/share/doc/redis-3.2.3/BUGS/usr/share/doc/redis-3.2.3/CONTRIBUTING/usr/share/doc/redis-3.2.3/MANIFESTO/usr/share/doc/redis-3.2.3/README.md/usr/share/licenses/redis-3.2.3/usr/share/licenses/redis-3.2.3/COPYING/var/lib/redis/var/log/redis #redis日志文件目录/var/run/redis
[root@mysql ~]# grep '^##' /etc/redis.conf ################################## INCLUDES ##################################################################### NETWORK ###################################################################### GENERAL ##################################################################### SNAPSHOTTING ################################################################# REPLICATION ################################################################### SECURITY ###################################################################### LIMITS ################################################################## APPEND ONLY MODE ############################################################### LUA SCRIPTING ############################################################### REDIS CLUSTER ################################################################# SLOW LOG ################################################################### LATENCY MONITOR ########################################################### EVENT NOTIFICATION ############################################################# ADVANCED CONFIG ###############################
grep以下可以查看redis主配置文件有哪些配置段。
使用以下命令还可以查看主配置文件中已经开启了哪些服务。
[root@mysql2 ~]# cat /etc/redis.conf | grep -v '#' | sed '/^$/d' bind 0.0.0.0protected-mode noport 6379tcp-backlog 511timeout 0tcp-keepalive 300daemonize nosupervised nopidfile /var/run/redis/redis.pidloglevel noticelogfile /var/log/redis/redis.logdatabases 16save 900 1save 300 10save 60 10000stop-writes-on-bgsave-error yesrdbcompression yesrdbchecksum yesdbfilename dump.rdbdir /var/lib/redisslave-serve-stale-data yesslave-read-only yesrepl-diskless-sync norepl-diskless-sync-delay 5repl-disable-tcp-nodelay noslave-priority 100appendonly noappendfilename "appendonly.aof"appendfsync everysecno-appendfsync-on-rewrite noauto-aof-rewrite-percentage 100auto-aof-rewrite-min-size 64mbaof-load-truncated yeslua-time-limit 5000 cluster-enabled yes cluster-config-file nodes-6379.conf cluster-node-timeout 15000slowlog-log-slower-than 10000slowlog-max-len 128latency-monitor-threshold 0notify-keyspace-events ""hash-max-ziplist-entries 512hash-max-ziplist-value 64list-max-ziplist-size -2list-compress-depth 0set-max-intset-entries 512zset-max-ziplist-entries 128zset-max-ziplist-value 64hll-sparse-max-bytes 3000activerehashing yesclient-output-buffer-limit normal 0 0 0client-output-buffer-limit slave 256mb 64mb 60client-output-buffer-limit pubsub 32mb 8mb 60hz 10aof-rewrite-incremental-fsync yes
接下来分析主配置文件/etc/redis.conf各个配置段的内容
3.1、INCLUDES配置段
如果你有更好的配置模板,请放在这个配置段
# include /path/to/local.conf# include /path/to/other.conf
3.2、网络配置段
网络配置项:
bind 127.0.0.1#允许连接redis的客户端IPprotected-mode no#安全模式port 6379#端口tcp-backlog 511#后援队列timeout 0#客户端闲置时,关闭客户端连接的超时时长,0表示不关闭tcp-keepalive 300#长连接超时时长
3.3、通用配置段
############################### GENERAL #####################################daemonize no#默认情况下redis不以守护进程的模式运行supervised no#是否开启超级监管 pidfile /var/run/redis/redis.pidpid文件路径loglevel notice#日志级别 logfile /var/log/redis/redis.log#指定日志文件路径 databases 16#设定数据库的数量
3.4、快照配置段
RDB(将内存中的数据刷写到磁盘),RDB对内存做快照,不停地快照导出数据,缺点:容易丢失数据
save 900 1 #900秒有一个键值改变做一次快照save 300 10#300秒有10个键值改变做一次快照save 60 10000 #60秒有10000键值改变就做一次快照stop-writes-on-bgsave-error yes#默认情况下,如果在RDB snapshots持久化过程中出现问题,设置该参数后,Redis是不允许用户进行任何更新操作rdbcompression yes#在导出.RDB数据库文件的时候采用LZF压缩字符串和对象。想节省一些CPU资源可以设置为no,但数据量可能会很大。 rdbchecksum yes#RDB快照制作过程中会在文件的末尾写入crc64的校验值。这样可能很好的保证数据的正确性。代价是导致性能下降dbfilename dump.rdb#快照文件名 dir ./#快照路径
3.5、主从配置相关段
主从配置相关的配置项,一个Master可以有多个slave主机,支持链式复制;Master以非阻塞方式同步数据至slave主机。
slaveof#用于创建从服务器# masterauth #主服务器认证密码slave-serve-stale-data yes#当slave丢失与master端的连接,或者复制仍在处理,那么slave会有下列两种表现: yes表示,slave继续响应客户端的请求,尽管数据已经不同了。 no表示slave会返回"SYNC with master in progreee"的错误信息;slave-read-only yes#从服务器只读repl-diskless-sync no 新的从节点或某较长时间未能与主节点进行同步的从节点重新与主节点通信,需要做"full synchronization",此时其同步方式有两种style: Disk-backend:主节点新创建快照文件于磁盘中,而后将其发送给从节点; Diskless:主节占新创建快照后直接通过网络套接字文件发送给从节点;为了实现并行复制,通常需要在复制启动前延迟一个时间段; repl-diskless-sync-delay 5#基于网络套接字同步延迟时长repl-ping-slave-period 10#ping从服务器的时间间隔# repl-timeout 60#主从复制超时时长repl-disable-tcp-nodelay no#默认为no,当选择yes的时候, master会向slave发送少量的tcp packets,这样的一个负面影响 delay slave接受数据时间,40 milliseconds 的延迟,在 高流量或者 master slave之间中间节点数很多的情况下,建议变为 yes# repl-backlog-size 1mb#后援队了的最大内存# repl-backlog-ttl 3600#后援队列的ttl时长slave-priority 100#当master服务挂了后,优先级越低的slave,越有可能成为master候选人# min-slaves-to-write 3 #最少从节点在线时,主节点允许写数据# min-slaves-max-lag 10 #从节点最多落后主节点多长时间# slave-announce-ip 5.5.5.5 #对外宣称服务器的IP# slave-announce-port 1234 #对外宣称服务器的端口
3.6、安全相关配置段
#安全相关的 # requirepass foobared#是否设置密码,requirepass +密码 #rename-command CONFIG ""#重命名或禁用某些命令
3.7、limit配置段
# maxclients 10000#客户端并发数量 # maxmemory#内存限制,过期会删除key# maxclients 10000 最大并发连接数 # maxmemory 最大可提供内存# maxmemory-policy noeviction 内存淘汰策略# volatile-lru -> remove the key with an expire set using an LRU algorithm 基于LRU算法将过期时间的键做淘汰# allkeys-lru -> remove any key according to the LRU algorithm 基于LRU算法将所有键淘汰 # volatile-random -> remove a random key with an expire set 随机淘汰# allkeys-random -> remove a random key, any key 对所有键做随机淘汰# volatile-ttl -> remove the key with the nearest expire time (minor TTL) 基于TTL时长淘汰# noeviction -> don't expire at all, just return an error on write operations 从不淘汰,一旦内存耗尽,报错默认是:# maxmemory-policy noeviction推荐volatile-lru,volatile-ttl 如何判断内存的淘汰?-->定量采样 # maxmemory-samples 5
3.8、AOF模式配置段
AOF,即 APPEND ONLY MODE,意思仅追加文件。rdis内存中的数据默认是异步同步到磁盘的,如果发生宕机,会造成一些数据的丢失。AOF也是数据持久化的一种方式,可以提高数据的可靠性。AOF模式会记录每次写操作至指定的文件尾部实现存储持久化;当redis重启时,可通过重新执行文件中的命令在内存中重建出数据库。默认使用fsync() 刷写磁盘数据,发生断电,或者Redis出现内部错误的时候最多丢失1秒数据。AOF和RDB这两种持久化方式可以同时开启不会发生冲突,开始AOF模式的话,Redis会把每次写入的数据在接收后都写入 appendonly.aof 文件。每次启动时Redis都会把这个文件的数据读入内存里。
appendonly no#是否记录持久化日志appendfilename "appendonly.aof"#AOF 文件appendfsync everysec#每秒写一次#fsync() 请求操作系统马上把数据写到磁盘上redis支持以下三种模式 no:redis不执行主动同步操作,而是OS进行; everysec:每秒一次; always:每语句一次,慢,但是安全; no-appendfsync-on-rewrite no#是否在后台执行aof重写期间不调用fsync,默认为no,表示调用;auto-aof-rewrite-percentage 100auto-aof-rewrite-min-size 64mb#上述两个条件同时满足时,方会触发重写AOF;与上次aof文件大小相比,其增长量超过100%,且大小不少于64MB就会重写AOF; aof-load-truncated yes# redis在启动的时候可以加载被截断的AOF文件,默认启用;否则可能启动失败注意:持久机制本身不能取代备份;应该制订备份策略,对redis库定期备份;
3.9、LUA脚本配置段
lua-time-limit 5000#lua脚本执行时间限制
3.10、redis集群配置段
cluster-enabled yes#是否开启集群cluster-config-file nodes-6379.conf#集群配置文件cluster-node-timeout 15000#集群节点通信超时时长
3.11、慢启动日志配置段
慢启动日志用于记录超过指定时间的查询,但需要注意的是:运行时间不包括各种I/O时间。
例如:连接客户端,发送响应数据等。
slowlog-log-slower-than 10000slowlog-max-len 128#慢查询日志长度,这个长度没有限制,单位为微妙,只要有足够的内存就行可以通过 SLOWLOG RESET 来释放内存
3.12、延迟监控配置段
latency-monitor-threshold 0
3.13、事件通知配置段
notify-keyspace-events ""
3.14、redis高级配置段
配置redis的高级选项
hash-max-ziplist-entries 512#每一个对应的hash能存储的最大entrieshash-max-ziplist-value 64#每一个对应的hash能存储的最大value#当有大量数据时,适合用哈希编码但需要更多的内存,元素数量上限不能超过给定限制。 list-max-ziplist-entries 512list-max-ziplist-value 64#与哈希相类似,list数据元素较少的情况下,可以用另一种方式来编码从而节省大量空间。 set-max-intset-entries 512#set 编码形式为是64位无符号整型数字构成的字符串。该参数来限制这种情况下使用这种编码的最大上限的。 zset-max-ziplist-entries 128zset-max-ziplist-value 64#和 hashes,lists 相似,为了节约空间 sorted sets 也使用特殊的编码方式。这种编码只适合长度和元素都符合上面限制的有序序列。 hll-sparse-max-bytes 3000activerehashing yesclient-output-buffer-limit normal 0 0 0client-output-buffer-limit slave 256mb 64mb 60client-output-buffer-limit pubsub 32mb 8mb 60hz 10aof-rewrite-incremental-fsync yes#当子进程重写AOF文件,以下选项开启时,AOF文件会每产生32M数据同步一次,这有利于避免写入磁盘延迟。
四、redis用法简介
4.1、redis命令选项
使用redis-cli -h命令可以查看redis客户端命令的用法。选项用法其实很简单,搞定英语应该不在话下。
[root@mysql ~]# redis-cli -hredis-cli 3.2.3Usage: redis-cli [OPTIONS] [cmd [arg [arg ...]]] -hServer hostname (default: 127.0.0.1). -p Server port (default: 6379). -s Server socket (overrides hostname and port). -a Password to use when connecting to the server. -r Execute specified command N times. -i When -r is used, waits seconds per command. It is possible to specify sub-second times like -i 0.1. -n Database number. -x Read last argument from STDIN. -d Multi-bulk delimiter in for raw formatting (default: \n). -c Enable cluster mode (follow -ASK and -MOVED redirections). --raw Use raw formatting for replies (default when STDOUT is not a tty). --no-raw Force formatted output even when STDOUT is not a tty. --csv Output in CSV format. --stat Print rolling stats about server: mem, clients, ... --latency Enter a special mode continuously sampling latency. --latency-history Like --latency but tracking latency changes over time. Default time interval is 15 sec. Change it using -i. --latency-dist Shows latency as a spectrum, requires xterm 256 colors. Default time interval is 1 sec. Change it using -i. --lru-test Simulate a cache workload with an 80-20 distribution. --slave Simulate a slave showing commands received from the master. --rdb Transfer an RDB dump from remote server to local file. --pipe Transfer raw Redis protocol from stdin to server. --pipe-timeout In --pipe mode, abort with error if after sending all data. no reply is received within seconds. Default timeout: 30. Use 0 to wait forever. --bigkeys Sample Redis keys looking for big keys. --scan List all keys using the SCAN command. --pattern Useful with --scan to specify a SCAN pattern. --intrinsic-latency Run a test to measure intrinsic system latency. The test will run for the specified amount of seconds. --eval Send an EVAL command using the Lua script at . --ldb Used with --eval enable the Redis Lua debugger. --ldb-sync-mode Like --ldb but uses the synchronous Lua debugger, in this mode the server is blocked and script changes are are not rolled back from the server memory. --help Output this help and exit. --version Output version and exit. Examples: cat /etc/passwd | redis-cli -x set mypasswd redis-cli get mypasswd redis-cli -r 100 lpush mylist x redis-cli -r 100 -i 1 info | grep used_memory_human: redis-cli --eval myscript.lua key1 key2 , arg1 arg2 arg3 redis-cli --scan --pattern '*:12345*'
一些简单命令的操作
连接redis服务端
[root@mysql ~]# redis-cli 127.0.0.1:6379>
选择第1数据库
127.0.0.1:6379> select 1 OK
选择第15个数据库
127.0.0.1:6379[1]> select 15 OK127.0.0.1:6379[15]>
选择第17个库,报错,redis默认16个库
127.0.0.1:6379[15]> select 17(error) ERR invalid DB index
选择默认库
127.0.0.1:6379[15]> select 0 OK
使用帮助,查看transaction的使用,当然你按下tab键就可以查看其他的命令的使用
127.0.0.1:6379> help @transactions DISCARD - summary: Discard all commands issued after MULTI since: 2.0.0 EXEC - summary: Execute all commands issued after MULTI since: 1.2.0 MULTI - summary: Mark the start of a transaction block since: 1.2.0 UNWATCH - summary: Forget about all watched keys since: 2.2.0 WATCH key [key ...] summary: Watch the given keys to determine execution of the MULTI/EXEC block since: 2.2.0
按下tab可切换查看不同的选项
127.0.0.1:6379> help @
输入命令时会自动提示输入后面的内容,相当的方便
127.0.0.1:6379> set key value [EX seconds] [PX milliseconds] [NX|XX]
4.2、redis数据类型
1.string 字符串
redis String是最常用的一种数据类型,普通的key/value存储都可以归为此类;
foo->bar 键值关系#查看string字符串相关操作命令help @string #设置键值127.0.0.1:6379> SET testkey 'tom'OK#获取键值127.0.0.1:6379> get testkey"tom"#追加键值,往后补值127.0.0.1:6379> append testkey ' neo'(integer) 9#删除键127.0.0.1:6379> del testkey(integer) 1#获取键127.0.0.1:6379> get testkey(nil)#设定多个键值127.0.0.1:6379> mset name 'tom' age 12OK#获取多个键值127.0.0.1:6379> mget name age1) "tom"2) "12"#设置数值127.0.0.1:6379> set counts 1 OK#获取数值127.0.0.1:6379> get counts "1"#减一操作127.0.0.1:6379> decr counts(integer) 0127.0.0.1:6379> get counts"0"#加一操作127.0.0.1:6379> incr counts(integer) 1127.0.0.1:6379> incr counts(integer) 2#获取数值127.0.0.1:6379> get counts"2"
2.list 列表
redis list 类型其实就是每个子元素都是 string 类型的双向链表,这就意味着即使你有成千上万中元素在list中,添加一个新元素到list开头或者结尾的操作算法时间复杂度都是O(1)。
#查看list列表相关操作命令help @listl:leftr:right#在列表中追加一个值127.0.0.1:6379> lpush mylist 'monday'(integer) 1#按索引查看列表中的元素,查看[0]号元素,即第一个元素127.0.0.1:6379> lindex mylist 0"monday"#在列表中追加一个值127.0.0.1:6379> lpush mylist 'sunday'(integer) 2#按索引查看列表中的元素127.0.0.1:6379> lindex mylist 0"sunday"#按索引查看列表中的元素,查看第二个元素127.0.0.1:6379> lindex mylist 1"monday"#从列表右边追加一个值127.0.0.1:6379> rpush mylist 'tuesday'(integer) 3127.0.0.1:6379> lindex mylist 2"tuesday"#从列表右边删除一个值127.0.0.1:6379> rpop mylist"Tuesday"127.0.0.1:6379> lindex mylist 2 (nil)#获取列表的长度127.0.0.1:6379> llen mylist(integer) 2127.0.0.1:6379> lpop mylist"sunday"127.0.0.1:6379> llen mylist(integer) 1
3. hash
redis hash是一个string类型的field和value的映射表.
#查看hash类型相关操作命令help @hash#设定hash键值为stu1,字段id,值为1127.0.0.1:6379> hset stu1 id 1 (integer) 1#设定另一个hash数据127.0.0.1:6379> hset stu1 name 'tom'(integer) 1127.0.0.1:6379> hset stu1 age 12(integer) 1#获取hash字段中所有的值127.0.0.1:6379> hmget stu1 id name age 1) "1"2) "tom"3) "12"#获取hash中所有的值127.0.0.1:6379> hvals stu11) "1"2) "tom"3) "12"#获取hash中所有的字段127.0.0.1:6379> hkeys stu11) "id"2) "name"3) "age"#获取hash中所有字段及对应的值127.0.0.1:6379> hgetall stu11) "id"2) "1"3) "name"4) "tom"5) "age"6) "12"
4 set 集合
redis的set是string类型的无序集合。
#查看set数据类型相关的操作命令127.0.0.1:6379> help @set#在students集合中添加多个成员127.0.0.1:6379> sadd students 'tom' 'jerry' 'lili'(integer) 3#在teachers集合中添加多个成员127.0.0.1:6379> sadd teachers 'sam' 'jerry'(integer) 2#将 students集合中的'lili'移到teachers集合127.0.0.1:6379> smove students teachers 'lili'(integer) 1#获取集合中所有的成员127.0.0.1:6379> smembers students1) "tom"2) "jerry"127.0.0.1:6379> smembers teachers1) "lili"2) "sam"3) "jerry"#获取两个集合的交集127.0.0.1:6379> sinter students teachers 1) "jerry"#获取两个集合的并集127.0.0.1:6379> sunion students teachers1) "lili"2) "tom"3) "sam"4) "jerry"#students集合中有那些成员teachers集合不存在127.0.0.1:6379> sdiff students teachers 1) "tom"#和上面相反127.0.0.1:6379> sdiff teachers students1) "lili"2) "sam"#随机删除集合中的一个成员127.0.0.1:6379> spop students 1 1) "tom"#删除一个成员127.0.0.1:6379> srem students 'tom'(integer) 0
5 sorted set 有序集合
redis的sorted set是string类型的有序集合。
#获取有序集合数据类型相关的操作命令用法127.0.0.1:6379> help @sorted_set#有序添加stus集合的成员127.0.0.1:6379> zadd stus 1 'tom' 2 'jerry' 3 'lucy' (integer) 3#有序添加teas集合的成员127.0.0.1:6379> zadd teas 1 'sam' 2 'jerry' 3 'lili'(integer) 3#获取有序集合成员的个数127.0.0.1:6379> zcard teas(integer) 3#同上127.0.0.1:6379> ZCARD stus(integer) 3 #获取索引127.0.0.1:6379> zrank teas jerry (integer) 1#通过索引获取值127.0.0.1:6379> zrange stus 1 2 1) "jerry"2) "lucy"#通过分数获取有序集合中的对应的值127.0.0.1:6379> ZRANGEBYSCORE stus 1 2 1) "tom"2) "jerry"#添加一个有序集合127.0.0.1:6379> ZADD ecscores 67 'tom' 33 'lili' 89 'michael' 55 'sam'(integer) 4#通过分数获取有序集合中的对应的值127.0.0.1:6379> ZRANGEBYSCORE ecscores 44 901) "sam"2) "tom"3) "michael"
4.3、redis客户端/服务端命令使用
client端命令
#获取客户端名字,默认为空127.0.0.1:6379> CLIENT GETNAME (nil)#设置客户端名字127.0.0.1:6379> CLIENT SETNAME 'mysql'OK#设置客户端名字127.0.0.1:6379> CLIENT GETNAME"mysql"#列出客户端127.0.0.1:6379> CLIENT list id=6 addr=127.0.0.1:55374 fd=5 name= age=1619 idle=1619 flags=N db=0 sub=0 psub=0 multiid=7 addr=127.0.0.1:55376 fd=6 name=mysql age=579 idle=0 flags=N db=0 sub=0 psub=0 mul#暂停客户端127.0.0.1:6379> CLIENT PAUSE#杀死客户端127.0.0.1:6379> CLIENT KILL#客户端是否响应127.0.0.1:6379> CLIENT REPLY
server端命令
#获取服务端详实信息,info命令很重要,几乎可以查看各种各样的详尽的信息127.0.0.1:6379> info # Server 服务端信息redis_version:3.2.3redis_git_sha1:00000000redis_git_dirty:0redis_build_id:672aed6eb816ad6credis_mode:standaloneos:Linux 3.10.0-514.el7.x86_64 x86_64arch_bits:64multiplexing_api:epollgcc_version:4.8.5process_id:9087run_id:4788b467cdf1f8055eca00ef6bbe57b55ef20bdetcp_port:6379uptime_in_seconds:12596uptime_in_days:0hz:10lru_clock:6928199executable:/usr/bin/redis-serverconfig_# Clients 客户端信息 connected_clients:2client_longest_output_list:0client_biggest_input_buf:0blocked_clients:0# Memory 内存信息used_memory:834424used_memory_human:814.87Kused_memory_rss:6094848used_memory_rss_human:5.81Mused_memory_peak:834424used_memory_peak_human:814.87Ktotal_system_memory:1023938560 #总共内存total_system_memory_human:976.50Mused_memory_lua:37888used_memory_lua_human:37.00Kmaxmemory:0 #内存无限制maxmemory_human:0Bmaxmemory_policy:noevictionmem_fragmentation_ratio:7.30mem_allocator:jemalloc-3.6.0# Persistence 持久化相关信息 loading:0rdb_changes_since_last_save:0rdb_bgsave_in_progress:0rdb_last_save_time:1500090506rdb_last_bgsave_status:okrdb_last_bgsave_time_sec:0rdb_current_bgsave_time_sec:-1aof_enabled:0aof_rewrite_in_progress:0aof_rewrite_scheduled:0aof_last_rewrite_time_sec:-1aof_current_rewrite_time_sec:-1aof_last_bgrewrite_status:okaof_last_write_status:ok# Stats 统计数据信息,很重要 total_connections_received:6 total_commands_processed:82instantaneous_ops_per_sec:0total_net_input_bytes:3065total_net_output_bytes:35815120instantaneous_input_kbps:0.00instantaneous_output_kbps:0.00rejected_connections:0sync_full:0sync_partial_ok:0sync_partial_err:0expired_keys:0evicted_keys:0keyspace_hits:42keyspace_misses:1pubsub_channels:0pubsub_patterns:0latest_fork_usec:852migrate_cached_sockets:0# Replication #主从复制相关信息role:masterconnected_slaves:0master_repl_offset:0repl_backlog_active:0repl_backlog_size:1048576repl_backlog_first_byte_offset:0repl_backlog_histlen:0# CPU相关 used_cpu_sys:8.24 内核空间used_cpu_user:4.10 用户空间used_cpu_sys_children:0.01used_cpu_user_children:0.00# Cluster信息cluster_enabled:0# Keyspace db0:keys=10,expires=0,avg_ttl=0 键 过期时长 ttl127.0.0.1:6379> info memory# Memory 内存信息#单独显示CPU信息127.0.0.1:6379> info CPU# CPUused_cpu_sys:8.56used_cpu_user:4.16used_cpu_sys_children:0.01used_cpu_user_children:0.0#关机命令127.0.0.1:6379> SHUTDOWN [NOSAVE|SAVE]#confi命令 配置服务器属性127.0.0.1:6379> CONFIG SET127.0.0.1:6379> CONFIG GET 127.0.0.1:6379> CONFIG REWRITE 127.0.0.1:6379> CONFIG RESETSTAT
redis的使用暂且先介绍到这里,下次我们再介绍redis的应用。