redis-server命令
redis-server /usr/local/redis/conf/redis.conf #加配置文件绝对路径启动redis服务 redis-server /usr/local/redis/conf/redis.conf & #如果配置文件daemonize yes后台启动没有开启则在结尾&在后台启动
redis-cli命令
redis-cli #通过客户端连接本地redis
redis-cli shutdown #关闭redis服务
-p指定端口
redis-cli -p 6379
-h指定要连接的reids服务端的IP
redis-cli -h 192.168.50.167
结尾跟内部命令可在外部执行
redis-cli -h 10.0.0.135 -p 6379 set aaa 111 OK
-a指定密码(会有警告密码暴露外边,所以一般不用)
redis-cli -a 123456
--raw 显示中文字符
redis-cli --raw
通过客户端操作redis数据库
set id 1 #写入一条数据key(id),value(1) get id #取值key(id) del id #删除key(id)
incr id #自增1 id变为2
incrby id 5 #自增指定数值5 id变为7
decr id #自减1 id变为6
decrby id5 #自减指定数值5 id变为1
getset id 6 #设置新数据并显示原数据
mset name zhangsan age 44 #批量写操作 key为name值为zhangsan key为age值为44
mget name age #批量读操作 一次行查看name和age的值
append name feng #追加字符串 结果为zhangsanfeng
exists id #验证key是否存在 keys * #查看redis里所有的key 不建议使用,上千万的key会使redis服务器堵塞 select 1 #切换到表1模式 redis总共有默认16个表
randomkey #随机返回一个key
scan 0 #分页查看key
select 0 #表示切换到0库 默认16个库
#通过help命令来查找命令 #输入help 多次<Tab>键来切换所有命令 help @hash
info #查看各项信息
info cpu #查看CPU信息
info memory #查看内存信息
info clients #查看客户端信息
info replication #查看同步信息
批量往redis server上插入数据
for line in `seq -w 50`;do redis-cli set name_${line} value_${line};done
给redis增加密码的两种方式
vim /usr/local/redis/conf/redis.conf #修改配置文件设置密码 requirepass "123456" #设置密码
#交互式登陆redis设置密码 redis-cli config get requirepass #获取redis配置的密码信息 1) "requirepass" 2) "" #此时密码空 config set requirepass 123456 #给redis设置密码密码即时生效 OK auth 123456 #进行密码验证 config get requirepass #查看密码配置信息 1) "requirepass" 2) "123456" #有密码了 config rewrite #将配置重写进行保存 OK #查看redis配置文件最后两行 tail -2 /usr/local/redis/conf/redis.conf # Generated by CONFIG REWRITE requirepass "yunjisuan" #增加了密码配置
解读配置文件
基本设置
#redis支持include功能 include /path/to/local.conf include /path/to/other.conf #redis是否后台运行 daemonize no #pid号保存文件的位置 pidfile /var/run/redis.pid #redis默认监听端口 port 6379 #调整tcp监听队列 tcp-backlog 511 #调整redis的监听地址 bind 192.168.1.100 10.0.0.1 bind 127.0.0.1 #调整客户端超时时间 timeout 0 #调整tcp的会话保持时间 tcp-keepalive 0 #调整日志级别 loglevel notice #是否启用syslog来接收日志(比如日志集中收集) syslog-facility local0 #设置数据库的数量,如果缺省,默认为0(select0...select 15) databases 16 #如果bgsave出错是否停止写入 stop-writes-on-bgsave-error yes #redis将数据存储在磁盘的什么位置 dbfilename dump.rdb #指定redis配置文件当前工作的路径(指定dbfilename的当前路径位置) dir ./ #给redis设定密码 requirepass 123456 #修改redis操作命令的名称 rename-command CONFIG "" rename-command set "" rename=command get wk #设定redis内存限制(但是内存用完后,redis就会开始删除key) maxmemory <bytes> #设定redis内存清理的算法 # volatile-lru -> remove the key with an expire set using an LRU algorithm # allkeys-lru -> remove any key accordingly to the LRU algorithm # 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) # noeviction -> don't expire at all, just return an error on write operation maxmemory-policy volatile-lru
rdb快照设置 (快照及流模式只能用在从不能用在主 主压力太大)
################################ SNAPSHOTTING ################################ # # Save the DB on disk: # # save <seconds> <changes> # # Will save the DB if both the given number of seconds and the given # number of write operations against the DB occurred. # # In the example below the behaviour will be to save: # after 900 sec (15 min) if at least 1 key changed # after 300 sec (5 min) if at least 10 keys changed # after 60 sec if at least 10000 keys changed # # Note: you can disable saving at all commenting all the "save" lines. # # It is also possible to remove all the previously configured save # points by adding a save directive with a single empty string argument # like in the following example: # # save "" #如果不想保存在磁盘,就如此设置 等于关闭快照 save 900 1 #900秒内至少1key数据变化,但会阻塞用户请求,高并发时不用 save 300 10 #300秒内至少10key数据变化,但会阻塞用户请求,高并发时不用 save 60 10000 #60秒内至少10000key数据变化,但会阻塞用户请求,高并发时不用
AOF流模式设置
############################## APPEND ONLY MODE ############################### # By default Redis asynchronously dumps the dataset on disk. This mode is # good enough in many applications, but an issue with the Redis process or # a power outage may result into a few minutes of writes lost (depending on # the configured save points). # # The Append Only File is an alternative persistence mode that provides # much better durability. For instance using the default data fsync policy # (see later in the config file) Redis can lose just one second of writes in a # dramatic event like a server power outage, or a single write if something # wrong with the Redis process itself happens, but the operating system is # still running correctly. # # AOF and RDB persistence can be enabled at the same time without problems. # If the AOF is enabled on startup Redis will load the AOF, that is the file # with the better durability guarantees. # # Please check http://redis.io/topics/persistence for more information. #是否启用AOF存储模式 appendonly no #设定AOF文件的存储位置 appendfilename "appendonly.aof" #并不用于主从同步,只是redis在启动时,读取此文件用于恢复数据 #设定AOF同步存储的时间周期 appendfsync everysec #每秒或不用