Redis
redis学习
luzaichun
这个作者很懒,什么都没留下…
展开
-
Redis-8.分布式锁正确加锁解锁
(第一种)SETNX 实现第一步: 通过setnx命令设置锁SETNX key value:如果key不存在,则创建并赋值1.时间复杂度:O(1)2.返回值:设置成功,返回1;设置失败,返回0第二步: 通过expire命令设置过期时间,防止死锁EXPIRE key seconds:设置key的生存时间,当key过期时(生存时间为0),会被自动删除(第二种)通过Redis2.6.8之后版本的set命令实现通过2.6.8之后版本的reids的set命令实现,可以解决先SETNX再EX原创 2020-05-17 16:17:14 · 576 阅读 · 0 评论 -
Redis-7.redis的慢查日志
redis的慢查日志,类似于mysql的慢查日志,可以用来记录一些执行比较慢的查询语句,方便我们事后定位问题。redis慢查日志的配置在redis的核心配置文件,redis.conf中,我们可以找到以下慢查日志这段配置slowlog-max-len设置慢查日志最大保存多少条slowlog-log-slower-than设置超过多少微秒会被记录到慢查日志上慢查日志的查询SLOWLOG GET:查看慢查日志示例:...原创 2020-05-17 15:54:19 · 192 阅读 · 0 评论 -
Redis-6.从海量Key里查询出某一固定前缀的Key
keyskeys pattern:查找所有符合给定模式pattern的key缺点:keys 指令一次性返回所有匹配的key匹配到的键的数量过大时,会使服务卡顿生产环境,一般情况下是杜绝使用keys指令的scanSCAN cursor [MATCH pattern] [COUNT count]特点:基于游标的迭代器,需要基于上一次的游标延续之前的迭代过程以0作为游标表示开始一次新的迭代,直到命令返回游标0完成整次遍历不保证每次执行都返回某个给定数量的元素,支持模糊查询一次原创 2020-05-17 15:29:24 · 307 阅读 · 0 评论 -
Redis-5.过期策略和内存淘汰机制
过期策略过期策略:定期删除+惰性删除定期删除:redis每隔100ms会从设置了过期时间的key里,随机抽取一部分key查看是否已经过期,如果过期就删除。惰性删除:redis在使用某个key时,先检查key是否已经过期,如果过期就删除内存淘汰机制tips:具体使用哪一个看自己的业务场景noeviction: 当内存不足以容纳新写入数据时,新写入操作会报错,这个一般没人用吧,实在是太恶心了。allkeys-lru:当内存不足以容纳新写入数据时,在键空间中,移除最近最少使用的 key(这个是原创 2020-05-17 15:09:57 · 279 阅读 · 0 评论 -
Redis-4.redis键命令
1.设置键得过期时间expire key 时间(s)2.查看键得过期时间#返回-1表示没有设置过期时间,永久得keyttl key3.看查key类型type key4.重命名key#将key1重名为key2,如果key2已经存在会直接覆盖rename key1 key25.重命名key#将key1重命名为key2,但是会校验key2是否已经存在renamenx k...原创 2020-03-23 16:59:34 · 115 阅读 · 0 评论 -
Redis-3.List&hash&set&zset操作简单介绍
List列表List:有序,可以重复的。可以用来做队列常用命令lpush key value:从列表左边插入一个元素rpush key value:从列表右边插入一个元素lpop key:从左边弹出第一个元素(移除并获取)rpop key:从右边弹出第一个元素(移除并获取)lrange key startIndex endIndex:从左边开始列出元素,范围是下标startI...原创 2020-03-08 20:39:31 · 175 阅读 · 0 评论 -
Redis-2.String类型介绍
String 字符串set命令为指定的一个键设置值,如果已存在值,则直接覆盖掉原来值格式:set key value 例:get 命令获取某个key对应的value格式:get key例:mset命令对多个键设置对应值,如果存在值,覆盖掉原来的。 该操作是原子操作,操作过程排它锁隔离格式:Mset key1 value1 key2 value2例:MsetNX命令...原创 2020-03-08 17:37:39 · 157 阅读 · 0 评论 -
Redis-1.基础知识数据类型
简介:key-value 内存 非关系 型数据库,C语言编写tips:redis快的几个重要点:1.数据存储key-value结构2.数据存内存里3.在做数据操作时候是单线程,避免cpu频繁上下文切换,使用多路复用IO模型数据类型1. string 字符串字符串内容是二进制安全的,意味着我们可以把 数字,文本,图片,视频等都赋给这个值注意:1。键名不要太长,影响效率 2。值最...原创 2020-03-08 17:09:06 · 156 阅读 · 0 评论