Redis
烟酒店老板
这个作者很懒,什么都没留下…
展开
-
Redis(四)分布式锁+穿透/雪崩/击穿
分布式锁分布式锁本质就是在Redis中设置一把锁,当别的进程也要上锁时,入股发现已经被上锁了,就需要放弃或者重试。上锁一般使用set(set if not exits)指令,只允许一个客户端上锁,用完之后使用del指令释放。但是如果成功上锁后,程序出现问题,无法执行del,那么锁将永远不能释放。对此,可以将锁设置一个过期时间,set [key] [value] ex [timeout] nx,这个指令是将setnx和expire组合在一起的原子指令,这就是分布式锁的核心。Redlock算法加锁时原创 2020-10-24 08:54:23 · 386 阅读 · 0 评论 -
Redis(三)持久化
RDB(Redis DataBase)Redis使用操作系统的多进程 COW(Copy On Write)机制来实现快照持久化。Redis在持久化时会调用 glibc 的函数fork产生一个子进程,快照持久化完全交给子进程来处理,父进程继续处理客户端请求。触发条件save满足规则的情况执行FLUSHALL、FLUSHDB退出Redis恢复RDB文件中的数据只需要将.rdb文件放在指定的目录,Redis启动时会自动加载并恢复其中数据目录存在位置:127.0.0.1:637原创 2020-10-24 08:51:35 · 123 阅读 · 0 评论 -
Redis(二)事务+配置文件详解
Redis中单条语句保证原子性,整个事务不保证原子性。当出现语法错误时,所有的命令都不会执行;语法没有错误的,只会有一条语句返回错误。Redis事务中没有隔离级别的概念。开启事务MULTI执行事务EXEC放弃事务DISCARD监控WACTH key [key …] 等同于一个乐观锁,如果监视的key中的值发生,则整个事务放弃取消监控UNWATCH 如果执行EXEC或者DISCARD,则不需要手动执行UNWATCH。###############################..原创 2020-10-24 08:50:12 · 276 阅读 · 0 评论 -
Redis(一)基础
Redis是什么Redis(Remote Dictionary Service,远程字典服务)是C语言开发的一个开源(遵从BSD协议)的高性能键值对(key-value)的内存数据库。可以用作数据库、缓存、消息中间件等。它是一种NoSQL(not-only sql)的数据库。Redis特点:性能优秀,数据存放在内存中,读写速度非常快,根据官方文档信息,读的速度是110K次/s,写的速度是81K次/s。在处理业务时是单进程单线程,是线程安全的(因为如果是多线程会引起CPU的上下文切换,非常耗时);在原创 2020-10-24 08:46:03 · 192 阅读 · 0 评论