写点什么

五、redis 配置信息以及常用命令,java 语言程序设计基础篇第十一版 pdf

用户头像
极客good
关注
发布于: 刚刚

关于 redis 的介绍就不多说了,持久化,速度快,单线程,基于内存。


配置文件


==================================================================


redis 的配置文件是 redis.conf。我们上次安装的时候把它放在了/use/local/redis/etc/redis.conf,默认的配置文件应该在安装目录下的 src/redis.conf


配置文件的内容有很多


  1. Redis 默认不是以守护进程的方式运行,可以通过该配置项修改,使用 yes 启用守护进程


daemonize no


  1. 当 Redis 以守护进程方式运行时,Redis 默认会把 pid 写入/var/run/redis.pid 文件,可以通过 pidfile 指定


pidfile /var/run/redis.pid


  1. 指定 Redis 监听端口,默认端口为 6379


port 6379


  1. 绑定的主机地址


bind 127.0.0.1


  1. 当 客户端闲置多长时间后关闭连接,如果指定为 0,表示关闭该功能


timeout 300


  1. 指定日志记录级别,Redis 总共支持四个级别:debug、verbose、notice、warning,默认为 verbose


loglevel verbose


  1. 日志记录方式,默认为标准输出,如果配置 Redis 为守护进程方式运行,而这里又配置为日志记录方式为标准输出,则日志将会发送给/dev/null,如果需要存储日志可以设置具体文件名。


logfile “/home/gdmt/mastercom/redis-4.0.5/bin/log_master.log”


  1. 设置数据库的数量,默认数据库为 0,可以使用 SELECT 命令在连接上指定数据库 id


databases 16


  1. 指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合


save


Redis 默认配置文件中提供了三个条件:


save 900 1


save 300 10


save 60 10000


分别表示 900 秒(15 分钟)内有 1 个更改,300 秒(5 分钟)内有 10 个更改以及 60 秒内有 10000 个更改。


  1. 指定存储至本地数据库时是否压缩数据,默认为 yes,Redis 采用 LZF 压缩,如果为了节省 CPU 时间,可以关闭该选项,但会导致数据库文件变的巨大


rdbcompression yes


  1. 指定本地数据库文件名,默认值为 dump.rdb


dbfilename dump.rdb


  1. 指定本地数据库存放目录


dir “/home/mastercom/redis-4.0.5/bin”


  1. 设置当本机为 slav 服务时,设置 master 服务的 IP 地址及端口,在 Redis 启动时,它会自动从 master 进行数据同步


slaveof


  1. 当 master 服务设置了密码保护时,slav 服务连接 master 的密码


masterauth


  1. 设置 Redis 连接密码,如果配置了连接密码,客户端在连接 Redis 时需要通过 AUTH 命令提供密码,默认关闭


requirepass foobared


  1. 设置同一时间最大客户端连接数,默认无限制,Redis 可以同时打开的客户端连接数为 Redis 进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis 会关闭新的连接并向客户端返回 max number of clients reached 错误信息


maxclients 10000


  1. 指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis 新的 vm 机制,会把 Key 存放内存,Value 会存放在 swap 区


maxmemory


  1. 指定是否在每次更新操作后进行日志记录,Redis 在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为 redis 本身同步数据文件是按上面 save 条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认为 no


appendonly no


  1. 指定更新日志文件名,默认为 appendonly.aof


appendfilename appendonly.aof


总结一下




上面那么多配置,我和大家一样没有都记住,只是了解一个大概,要用的时候能查就行,上面很多都是默认配置,感觉一般要设置的下面这几个


daemonize yes


port 端口号


bind ip


slaveof <masterip> <masterport>


requirepass foobared


常用命令


==================================================================


针对 key 的命令




exists(key):确认一个 key 是否存在


del(key):删除一个 key


type(key):返回值的类型


keys(pattern):返回满足给定 pattern 的所有 key


randomkey:随机返回 key 空间的一个


keyrename(oldname, ne


【一线大厂Java面试题解析+核心总结学习笔记+最新架构讲解视频+实战项目源码讲义】
浏览器打开:qq.cn.hn/FTf 免费领取
复制代码


wname):重命名 key


dbsize:返回当前数据库中 key 的数目


expire:设定一个 key 的活动时间(s)


ttl:获得一个 key 的活动时间


move(key, dbindex):移动当前数据库中的 key 到 dbindex 数据库


flushdb:删除当前选择数据库中的所有 key--慎用


flushall:删除所有数据库中的所有 key--慎用


真正常用的就


exists key


del key


type key


dbsize


expire


针对 String 类型的命令




set(key, value):给数据库中名称为 key 的 string 赋予值 value


get(key):返回数据库中名称为 key 的 string 的 value


getset(key, value):给名称为 key 的 string 赋予上一次的 value


mget(key1, key2,…, key N):返回库中多个 string 的 value


setnx(key, value):如果 key 不存在,添加 string,名称为 key,值为 value


setex(key, time, value):向库中添加 string,设定过期时间 time


mset(key N, value N):批量设置多个 string 的值


msetnx(key N, value N):如果所有名称为 key 的 string 都不存在 就添加


incr(key):名称为 key 的 string 增 1 操作


incrby(key, integer):名称为 key 的 string 增加 integer


decr(key):名称为 key 的 string 减 1 操作


decrby(key, integer):名称为 key 的 string 减少 integer


append(key, value):名称为 key 的 string 的值附加 value


substr(key, start, end):返回名称为 key 的 string 的 value 的子串


我认为常用的


set


get


mset


mget


incr


decr


针对 List 类型




用户头像

极客good

关注

还未添加个人签名 2021.03.18 加入

还未添加个人简介

评论

发布
暂无评论
五、redis配置信息以及常用命令,java语言程序设计基础篇第十一版pdf