再此之前可以复习一下一些Redis的基本命令:
Redis八大类型常用命令大全(五大常用类型+三个特殊类型):https://blog.csdn.net/nxw\_tsp/article/details/107897580
Redis事务常用命令以及通过watch命令实现乐观锁示例:
https://blog.csdn.net/nxw\_tsp/article/details/107922864
Redis配置文件中配置信息详解:
在实际工作当中,使用redis的默认配置是远远不够的,我们需要做一些配置来应对我们实际的程序性能问题,那么下面就针对redis.conf配置文件中的配置项做一下解释。
INCLUDES(包括):
include .\path\to\local.conf #可以包含多个配置文件
NETWORK(网络):
在实际项目当中,我们需要对此进行配置
bind 127.0.0.1 #绑定的IP
protected-mode yes #保护模式
port 6379 #端口号
GENERAL(通用):
daemonize no #以守护进程方式运行,默认是no,需要手动配置开启为yes,否则服务会自动关闭
pidfile /var/run/redis.pid #如果以后台方式运行就需要执行一个pid文件
loglevel notice #日志级别设置
debug (a lot of information, useful for development/testing)
verbose (many rarely useful info, but not a mess like the debug level)
notice (moderately verbose, what you want in production probably)
warning (only very important / critical messages are logged)
在生产环境中推荐使用notice。
logfile "" #日志文件存放位置以及文件名
databases 16 #redis默认有16个数据库(0-15),默认使用的是数据库0
always-show-logo yes #是否显示logo
SNAPSHOTTING(快照):
在持久化的时候需要对快照进行一些配置。在规定时间内有相应的key被修改就会持久化到文件中(.rdb/.aof)。
redis是内存型数据库,如果没有持久化,数据就会断电即失。
save 900 1 #在900秒的时间内大于等于1个key被修改就做持久化操作
save 300 10 #在300秒内有大于等于10个key被修改就做持久化操作
save 60 10000 #在60秒内有大于等于10000个key被修改就做持久化操作
stop-writes-on-bgsave-error yes #持久化出现错误之后是否需要继续工作
rdbcompression yes #是否压缩rdb文件,会消耗cpu的资源
rdbchecksum yes #保存rdb文件时是否需要进行校验
dir ./ #持久化文件保存的目录
SECURITY(安全):
可以配置redis的密码信息。
requirepass foobared #redis密码配置,默认是foobared,就是没有密码
同样的,redis密码也可以通过命令来进行设置
127.0.0.1:6379> config get requirepass #查看当前Redis密码
1) "requirepass"
2) ""
127.0.0.1:6379> config set requirepass "123456" #设置Redis登录密码为123456
OK
127.0.0.1:6379> keys * #设置密码后再执行命令就会提示没有权限,此时需要进行登录
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth 123456 #设置登录密码为123456
OK
127.0.0.1:6379> keys * #登录后执行命令一切正常
1) "cost"
2) "money"
127.0.0.1:6379>
CLIENTS(客户端限制):
maxclients 10000 #最大同时登录客户端数量 默认为10000
maxmemory <bytes> #Redis最大内存占用
maxmemory-policy noeviction #内存到达上限的处理策略
1、volatile-lru:只对设置了过期时间的key进行LRU(默认值)
2、allkeys-lru : 删除lru算法的key
3、volatile-random:随机删除即将过期key
4、allkeys-random:随机删除
5、volatile-ttl : 删除即将过期的
6、noeviction : 永不过期,返回错误
APPEND ONLY MODE(AOF配置):
appendonly no #默认是不开启aof模式的,默认使用的是rdb持久化方式
appendfilename "appendonly.aof" #持久化文件名
appendfsync everysec #每秒执行一次同步,可能会丢失1s的数据
appendfsync always #每次修改都会同步,但是会消耗性能
appendfsync no #不同步