随笔分类 - redis
摘要:一、主从同步/复制 通过持久化功能,Redis保证了即使在服务器重启的情况下也不会丢失(或少量丢失)数据,因为持久化会把内存中数据保存到硬盘上,重启会从硬盘上加载数据。 但是由于数据是存储在一台服务器上的,如果这台服务器出现硬盘故障等问题,也会导致数据丢失。 为了避免单点故障,通常的做法是将数据库复
阅读全文
posted @ 2021-10-29 14:31
贱贱的小帅哥
摘要:redis集群数据存储原理: 在redis cluster中,如果想要存入一个key-value, 这个key首先会通过CRC16算法取余(和16384取余), 结果会对应上0-16383之间的哈希槽(hash slot) 最后,redis cluster会将key-value放置在对应的哈希槽中。
阅读全文
posted @ 2021-10-20 12:25
贱贱的小帅哥
摘要:主从复制:主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主。 主从复制的作用 1、数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。 2、故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;
阅读全文
posted @ 2021-10-18 12:27
贱贱的小帅哥
摘要:是什么:进程间的一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。 Redis 客户端可以订阅任意数量的频道。 下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系: https://www.
阅读全文
posted @ 2021-10-14 09:10
贱贱的小帅哥
摘要:1)乐观锁:开启事务前,设置对数据的监听,EXEC时,如果发生数据发生过修改,事务会自动取消(DISCARD)。 2)悲观锁: 认为任何事情,都会出现问题,都是悲观的,很消耗性能; watch监控:悲观锁 悲观锁(Pessimistic Lock),顾名思义,就是很悲观,每次去拿数据的时候都认为别人
阅读全文
posted @ 2021-10-11 21:27
贱贱的小帅哥
摘要:redis的事务:可以一次执行多个命令,本质是一组命令的集合,一个事务中的所有命令都会序列化,按顺序得串行化执行而不会被其他命令插入,不许加塞。 能干什么:一个队列中,一次性、顺序性、排他性得执行一些列命令。 Redis事务相关命令: watch key1 key2 ... : 监视一或多个key,
阅读全文
posted @ 2021-10-11 21:20
贱贱的小帅哥
摘要:RDB持久化 AOF持久化 全量备份,一次保存整个数据库 增量备份,一次保存一个修改数据库的命令 保存的间隔较长 保存的间隔默认一秒 数据还原速度快 数据还原速度一般 save会阻塞,但bgsave或者自动不会阻塞 无论是平时还是AOF重写,都不会阻塞 更适合数据备份,默认开启 更适合用来保存数据,
阅读全文
posted @ 2021-10-09 19:46
贱贱的小帅哥
摘要:AOF : Redis 默认不开启。以日志的形式记录每一个写操作,将redis执行过程中的所有命令记录下来(读操作不记录), 只需追加文件但不可以改写文件,redis启动之初会读取该文件重新构建数据,换言之,redis重启的话就根据日志文件的内容将写指令从前到后一次以完成数据的恢复工作。 AOF保存
阅读全文
posted @ 2021-10-09 12:49
贱贱的小帅哥
摘要:RDB: RDB是Redis用来进行持久化的一种方式,在指定的时间间隔内将当前内存中的数据集快照写入磁盘,也就是 Snapshot 快照(数据库中所有键值对数据)。恢复时是将快照文件直接读到内存里。 redis会单独创建(fork)一个子进程进行持久化,会先将数据写入到一个临时文件中,待持久化过程都
阅读全文
posted @ 2021-09-26 12:18
贱贱的小帅哥
摘要:redis:1、热点数据的缓存由于redis访问速度块、支持的数据类型比较丰富,所以redis很适合用来存储热点数据,另外结合expire,我们可以设置过期时间然后再进行缓存更新操作,这个功能最为常见,我们几乎所有的项目都有所运用。2、限时业务的运用可以使用expire命令设置一个键的生存时间,到时
阅读全文
posted @ 2021-09-24 09:34
贱贱的小帅哥
摘要:>>MemcachedMemcached的优点:Memcached可以利用多核优势,单实例吞吐量极高,可以达到几十万QPS(取决于key、value的字节大小以及服务器硬件性能,日常环境中QPS高峰大约在4-6w左右)。适用于最大程度扛量。支持直接配置为session handle。Memcache
阅读全文
posted @ 2021-09-24 09:31
贱贱的小帅哥
摘要:Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。Memcached是以LiveJournal旗下Danga Interactive公司的Brad Fitzpatric为首开发的一款软件。现在已成为mixi、hatena、Facebook、Vox、LiveJournal等众多服务中
阅读全文
posted @ 2021-09-24 09:29
贱贱的小帅哥
摘要:1、git clone https://github.com/mrvautin/adminMongo 2、进入项目,执行npm install3、进入项目,执行npm start4、浏览器访问:http://localhost:1234
阅读全文
posted @ 2021-09-24 09:28
贱贱的小帅哥
摘要:布隆过滤器:直观的说,bloom算法类似一个hash set,用来判断某个元素(key)是否在某个集合中。和一般的hash set不同的是,这个算法无需存储key的值,对于每个key,只需要k个比特位,每个存储一个标志,用来判断key是否在集合中。算法: 1. 首先需要k个hash函数,每个函数可
阅读全文
posted @ 2021-09-24 09:24
贱贱的小帅哥
摘要:Redis穿透:对于系统A,假设一秒 5000 个请求,结果其中 4000 个请求是黑客发出的恶意攻击。 黑客发出的那 4000 个攻击,缓存中查不到,每次你去数据库里查,也查不到。 举个栗子。数据库 id 是从 1 开始的,结果黑客发过来的请求 id 全部都是负数。这样的话,缓存中不会有,请求每次
阅读全文
posted @ 2021-09-24 09:22
贱贱的小帅哥
摘要:Redis击穿:缓存击穿,就是说某个 key 非常热点,访问非常频繁,处于集中式高并发访问的情况,当这个 key 在失效的瞬间,大量的请求就击穿了缓存,直接请求数据库,就像是在一道屏障上凿开了一个洞。 解决方式也很简单,可以将热点数据设置为永远不过期;或者基于 redis or zookeeper
阅读全文
posted @ 2021-09-24 09:21
贱贱的小帅哥
摘要:Redis 雪崩: 雪崩就是指缓存中大批量热点数据过期后系统涌入大量查询请求,因为大部分数据在Redis层已经失效,请求渗透到数据库层,大批量请求犹如洪水一般涌入,引起数据库压力造成查询堵塞甚至宕机。解决办法:将缓存失效时间分散开,比如每个key的过期时间是随机,防止同一时间大量数据过期现象发生,这
阅读全文
posted @ 2021-09-24 09:20
贱贱的小帅哥
摘要:键值(Key-Value)存储数据库这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来说的优势在于简单、易部署。但是如果DBA只对部分值进行查询或更新的时候,Key/value就显得效率低下了。举例如:Tokyo Cabinet/
阅读全文
posted @ 2021-09-24 09:15
贱贱的小帅哥

浙公网安备 33010602011771号