Redis redis源码分析:链表实现 一、链表定义 链表在redis中的使用十分广泛,例如列表的底层实现之一就是链表,包括发布、订阅等等功能都是有用到链表的。redis中链表在adlist.h和adlist.c中实现,只用了300+行代码... 02月14日评论 阅读全文
Redis redis中的发布和订阅 一、发布和订阅 除了任务队列以外,redis还有一种基于“发布/订阅”模式的消息传递,使得客户端可以订阅某个频道,当频道有消息产生时,会把消息传递到所有的订阅者。和列表不一样的是,发布和订阅可以是一对... 12月04日评论 阅读全文
Redis Redis小案例(二):redis实现消息队列 一、任务队列概述 消息队列,顾名思义就是一个用来传递任务的队列。消息队列在开发中十分常见,经常用在页面后台处理需要很长时间的操作时,例如发送邮件、短信以及进行复杂数据运算操作等,这些操作通常会阻塞页面... 12月03日评论 阅读全文
Redis Redis小案例(一):实现网站访问频率限制 网站中经常需要用到网站限流,例如限制用户恶意爬虫获取网页信息以及在网站访问流量大时限制访问频率等等,这里使用redis做一个简单的网站登录限制案例。 一、使用EXPIRE进行访问频率限制 逻辑:用户登... 12月03日评论 阅读全文
Python python redis-py模块用法 一、安装 redis中操作redis的模块为redis-py,使用pip install redis或者easy_install redis安装即可,也可以进去https://pypi.python.... 12月03日评论 阅读全文
Redis Redis学习笔记:事务 一、事务的描述 和MySQL一样,Redis中也有事务这一个概念,redis中的事务也是可以用来执行一组命令的集合,同时也可以把事务当作一个命令。因为它的特性和命令无差,要么正确全部运行,要么错误都不... 11月30日评论 阅读全文
Golang Golang redigo使用笔记(二):并发处理和连接池 一、并发问题 在redigo官方的文档描述中,Receive()方法是不支持多并发的,原文为: 而Do()方法是间接调用了Receive()方法,所以Do()方法也是不支持多并发的。我们可以用一段代码... 11月29日评论 阅读全文
Golang Golang redigo使用笔记(一):基本用法 一、概述 redigo是一个redis的go client,官方描述为:Redigo is a Go client for the Redis database. 基本特点: 简单的API调用,并支持... 11月28日评论 阅读全文
Redis Redis常见问题及解决方法 1:(error) WRONGTYPE Operation against a key holding the wrong kind of value 今天打开redis输入命令zadd k 1 ma... 11月26日评论 阅读全文
Redis Redis中的集合类型 一、概念和原理 集合是redis中的基本数据类型之一,redis中的集合可以用来存储一堆无序的元素,集合内的元素不会重复,只有存在或者不存在两种属性。 redis集合内部是由intset和hashta... 11月25日评论 阅读全文