
redis
文章平均质量分 87
meng-xiang
记录点什么
展开
-
认识redis:redis计数器与数量控制
这篇文章是我个人对redis的一些理解,可以帮助大家系统的认识redis。本文的目标读者是使用过redis,但对redis了解不深的朋友。文章内容以redis为主,也会少量提到memcached。文章从redis的设计目的、工作模式、应用场景等方面阐述,最后会讲解一些具体的应用场景,还会夹带一些代码作为“干货”。鉴于本人水平有限,文中如有不准确的内容,敬请斧正。redis是什么redis是一种内存型原创 2017-12-04 08:27:51 · 6209 阅读 · 0 评论 -
让redis操作更简单:为不同数据类型封装统一的命令
Redis内置了Lua解释器,可以运行一段lua脚本,完成相对复杂的操作。实现一个简单的操作:创建一个hash类型的key,并设置过期时间,lua代码如下local values = {}; for i,v in ipairs(KEYS) do values[#values+1] = redis.pcall('hmset', v, ARGV[2], ARGV[3], ARGV[...原创 2018-06-15 17:15:10 · 315 阅读 · 0 评论 -
Redis Lua编程与调试工具使用
前言Redis自2.6.0版本开始内置Lua解释器。Lua,轻量级脚本语言,号称最快的脚本语言。两者结合将爆发出巨大的威力。简介Redis Lua脚本可以调用原生的Redis命令,也可以包含自定义的控制流、逻辑运算、数学运算等,将复杂的业务逻辑封装起来,形成一个原子事务。这些特性使我们可以自由地扩展Redis,封装“自定义命令”。与MULTI+EXEC对比使用MULTI+EXEC及...原创 2018-09-30 16:29:56 · 3949 阅读 · 1 评论 -
队列、堆栈和优先队列介绍及Redis实现
Redis丰富的数据类型,如list和zset,可以用来实现队列。已实现了以下几种队列。普通队列队列:FIFO双向队列:两个方向均可以PUSH、POP堆栈:LIFO优先队列:POP按优先级从高到低先后弹出元素其中,队列、双向队列和堆栈用list存储,优先队列用zset存储。增强特性支持容量固定,向一个满的队列PUSH会失败,向一个容量不足的队列PUSH也会失败支持可溢出(堆...原创 2018-11-25 21:21:49 · 4276 阅读 · 0 评论 -
redigo源码解析
前言redigo是用Go语言开发的Redis客户端,受到Redis官方的推荐。redigo的源码量比较少,也比较清晰易读。redigo主要做了以下事项与Redis server建立连接按照RESP协议组装指令向Redis server发用指令接收Redis server返回的数据将返回数据解析成Go的数据类型连接池(Pool),支持设置最大的活动连接数,最大的空闲连接数源码概...原创 2018-12-09 13:24:02 · 550 阅读 · 0 评论 -
唯快不破:如何快速处理大量数据
背景将数百张数据结构相同的表(用Tn代表),合并至一张表(用C代表)T表数据量分布很不均衡,少至一位数,多至几十万T表间没有业务关联C表结构在T表结构的基础上增加了几个字段,无法使用INSERT INTO (SELECT * FROM)数据总量约300万,经单进程测试,处理速度约500/s,预估耗时约100min目标最大化提升数据处理速度,将耗时降至10min左右,此时C表的写入...原创 2019-10-10 13:53:30 · 1088 阅读 · 0 评论