写点什么

五、redis 配置信息以及常用命令

  • 2021 年 11 月 11 日
  • 本文字数:2436 字

    阅读完需:约 8 分钟

  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 会存


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


放在 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, newname):重命名 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 类型




rpush(key, value):在名称为 key 的 list 尾添加一个值为 value 的元素


lpush(key, value):在名称为 key 的 list 头添加一个值为 value 的 元素


llen(key):返回名称为 key 的 list 的长度


lrange(key, start, end):返回名称为 key 的 list 中 start 至 end 之间的元素,-1 是最后一位的索引


ltrim(key, start, end):截取名称为 key 的 list


lindex(key, index):返回名称为 key 的 list 中 index 位置的元素


lset(key, index, value):给名称为 key 的 list 中 index 位置的元素赋值


lrem(key, count, value):删除 count 个 key 的 list 中值为 value 的元素


lpop(key):返回并删除名称为 key 的 list 中的首元素


rpop(key):返回并删除名称为 key 的 list 中的尾元素


blpop(key1, key2,… key N, timeout):lpop 命令的 block 版本。


brpop(key1, key2,… key N, timeout):rpop 的 block 版本。


rpoplpush(srckey, dstkey):返回并删除名称为 srckey 的 list 的尾元素,并将该元素添加到名称为 dstkey 的 list 的头部


一样我认为常用的,但是感觉 list 用的不多


rpush


lpush


rlang


llen


lpop


rpop


针对 set 类型




sadd(key, member):向名称为 key 的 set 中添加元素 member


srem(key, member) :删除名称为 key 的 set 中的元素 member


spop(key) :随机返回并删除名称为 key 的 set 中一个元素


smove(srckey, dstkey, member) :移到集合元素


scard(key) :返回名称为 key 的 set 的基数


sismember(key, member) :member 是否是名称为 key 的 set 的元素


sinter(key1, key2,…key N) :求交集


sinterstore(dstkey, (keys)) :求交集并将交集保存到 dstkey 的集合


sunion(key1, (keys)) :求并集


sunionstore(dstkey, (keys)) :求并集并将并集保存到 dstkey 的集合


sdiff(key1, (keys)) :求差集


sdiffstore(dstkey, (keys)) :求差集并将差集保存到 dstkey 的集合


smembers(key) :返回名称为 key 的 set 的所有元素


srandmember(key) :随机返回名称为 key 的 set 的一个元素


感觉这个是用的最少了,很多都记不住,就知道添加和读取.zset 和 set 的都用的很少


sadd


smembers


sadd


zrange


针对 Hash 类型




hset(key, field, value):向名称为 key 的 hash 中添加元素 field


hget(key, field):返回名称为 key 的 hash 中 field 对应的 value


hmget(key, (fields)):返回名称为 key 的 hash 中 field i 对应的 value


hmset(key, (fields)):向名称为 key 的 hash 中添加元素 field


hincrby(key, field, integer):将名称为 key 的 hash 中 field 的 value 增加 integer


hexists(key, field):名称为 key 的 hash 中是否存在键为 field 的域


hdel(key, field):删除名称为 key 的 hash 中键为 field 的域


hlen(key):返回名称为 key 的 hash 中元素个数

评论

发布
暂无评论
五、redis配置信息以及常用命令