随笔分类 - Redis
摘要:为什么Redis这么快? 首先,采用了多路复用io阻塞机制 然后,数据结构简单,操作节省时间 最后,运行在内存中,自然速度快 什么是IO多路复用 IO多路复用是一种同步IO模型,实现一个线程可以监视多个文件句柄;一旦某个文件句柄就绪,就能够通知应用程序进行相应的读写操作;没有文件句柄就绪时会阻塞应用
阅读全文
摘要:如何使用 通过持久化功能,Redis保证了即使在服务器重启的情况下也不会损失(或少量损失)数据。但是由于数据是存储在一台服务器上的,如果这台服务器出现硬盘故障等问题,也会导 致数据丢失。 为了避免单点故障,通常的做法是将数据库复制多个副本以部署在不同的服务器上,这样即使有一台服务器出现故障,其他服务
阅读全文
摘要:简述 Redis的强劲性能很大程度上是由于其将所有数据都存储在了内存中,然而当Redis重启后,所有存储在内存中的数据就会丢失。在一些情况下,我们会希望 Redis 在重启后能够保证数据不丢失,例如: 将Redis作为数据库使用时。 将 Redis 作为缓存服务器,但缓存被穿透后会对性能造成较大影响
阅读全文
摘要:简述 Redis 还提供了一组命令可以让开发者实现“发布/订阅”(publish/subscribe)模式。“发布/订阅”模式同样可以实现进程间的消息传递,其原理是这样的: “发布/订阅”模式中包含两种角色,分别是发布者和订阅者。订阅者可以订阅一个或若干个频道(channel),而发布者可以向指定的
阅读全文
摘要:在 Redis 的 5 种数据类型中,说到排序就会想起有序集合,有序集合通过给每个元素设定一个分数用于排序存储。 有序集合常见的使用场景是大数据排序,如游戏的玩家排行榜,所以很少会需要获得键 中的全部数据。 不过有序集合要给每个元素都要设定一个分数,有些时候显得太过于麻烦了。 除了使用有序集合外,我
阅读全文
摘要:在实际的开发中经常会遇到一些有时效的数据,比如限时优惠活动、缓存或验证码等, 过了一定的时间就需要删除这些数据。 expire 命令 在Redis中可以使用 EXPIRE 命令设置一个键的过期时 间,到时间后Redis会自动删除它。 语法: EXPIRE key seconds :seconds 参
阅读全文
摘要:说到事务我们都知道,一个事务中的命令要么都执行,要么都不执行。 先看看 Redis 的一个事务: redis 127.0.0.1:6379> MULTI OK redis 127.0.0.1:6379> SADD "user:1:following" 2 QUEUED redis 127.0.0.1
阅读全文
摘要:先了解Redis的大致作用和内容:https://github.com/JasonLai256/the-little-redis-book/blob/master/cn/redis.md Redis 命令中文文档:http://doc.redisfans.com 字符串 string、散列类型 ha
阅读全文