redis 的使用 及 配置文件解读

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    #每秒或不用
原文地址:https://www.cnblogs.com/ywrj/p/9508420.html