Redis学习笔记:订阅和发布

一、基本使用 除了任务队列以外,redis还有一种基于“发布/订阅”模式的消息传递,它能让消息在多个频道以及多个客户端之间进行消息传递。 1.1 发布 向频道发布消息使用命令PUBLISH channel message: 消息发送成功后,将会返回一个整数,表示收到这条消息的订阅者数量,本例中的0即...
阅读全文

Redis小案例(二):redis实现消息队列

一、任务队列概述 消息队列,顾名思义就是一个用来传递任务的队列。消息队列在开发中十分常见,经常用在页面后台处理需要很长时间的操作时,例如发送邮件、短信以及进行复杂数据运算操作等,这些操作通常会阻塞页面相当长的时间,为了避免用户等待太久,一般会先给用户页面进行相应,然后在后台使用独立的线程或者进程来处...
阅读全文
Redis小案例(一):实现网站访问频率限制 Redis

Redis小案例(一):实现网站访问频率限制

网站中经常需要用到网站限流,例如限制用户恶意爬虫获取网页信息以及在网站访问流量大时限制访问频率等等,这里使用redis做一个简单的网站登录限制案例。 一、使用EXPIRE进行访问频率限制 逻辑:用户登入网页,判断是否为第一次登入,如果是,创建一个新键记录访问次数为1,并设置超时时间。后面再登入时先判...
阅读全文

Redis学习笔记:设置键值过期时间

一、命令介绍 Redis中的EXPIER命令可以给键值设置过期时间,命令格式为:EXPIRE key second,表示给键key设置过期时间second,到期之后系统会自动删除该键,这个功能经常会被用到,例如限时优惠活动和短信验证码等。EXPIRE命令返回1表示设置过期时间成功,返回0表示键不存在...
阅读全文

Redis学习笔记:事务

一、事务的描述 和MySQL一样,Redis中也有事务这一个概念,redis中的事务也是可以用来执行一组命令的集合,同时也可以把事务当作一个命令。因为它的特性和命令无差,要么正确全部运行,要么错误都不运行。但是和MySQL的事务不同的是,redis中的事务不支持回滚操作。也就是说,一旦事务出错,它没...
阅读全文
Redis中的有序集合类型 Redis

Redis中的有序集合类型

一、概述 有序集合也是一个集合,和集合的不同之处在于有序集合是有序的,它通过给集合中每一个元素都关联一个分数,使得我们可以通过分数来获取一定范围内的元素。 二、命令 2.1 增加和删除元素 ZADD key score member :添加元素,当key不存在时创建。分数支持整数和双精度浮点数,可以...
阅读全文
Redis中的集合类型 Redis

Redis中的集合类型

一、概述 redis中的集合可以用来存储一堆无序的元素,集合内的元素不会重复,只有存在或者不存在两种属性。集合在redis内部是使用值为空的散列来实现的,所以集合操作的时间复杂度为O(1),多个集合之间可以进行交并运算。 二、命令 2.1 增加或者删除元素 SADD key member :向集合中...
阅读全文
Redis学习笔记:列表类型 Redis

Redis学习笔记:列表类型

一、概述 redis的列表类型可以存储一个有序的字符串列表,内部实现是一个双向链表,允许用户从两端插入元素。所以向两端插入数据的速度是极快的,而且获取数据时也是越接近两端速度越快,一个列表最多能容纳2^32 - 1个元素。 二、命令 2.1 在两端插入元素 LPUSH key value :在列表的...
阅读全文
Redis学习笔记:散列类型 Redis

Redis学习笔记:散列类型

一、概述 Redis 本生就是一个字典类型的键值关系数据库,结构为: 而其中还有一种散列类型的数据结构散列,它也是一种字典结构,存储了字段关系的映射。 散列就像是一个小的redis一样,只不过这个小型redis不支持其他类型,只能是字符串。 二、命令 2.1 设置和获取字段值 HSET key fi...
阅读全文