lpush key value 

作用: 把值插入到链接头部

rpop key

作用: 返回并删除链表尾元素

lrange key start  stop

作用: 返回链表中[start ,stop]中的元素

规律: 左数从0开始,右数从-1开始

lrem key count value

作用: 从key链表中删除 value值

注: 删除count的绝对值个value后结束

Count>0 从表头删除

Count<0 从表尾删除

ltrim key start stop 

作用: 剪切key对应的链接,切[start,stop]一段,并把该段重新赋给key

lindex key index

作用: 返回index索引上的值,

如  lindex key 2

llen key

作用:计算链接表的元素个数

redis 127.0.0.1:6379> llen task

(integer) 3

redis 127.0.0.1:6379>

linsert  key after|before search value 

作用: 在key链表中寻找’search’,并在search值之前|之后,.插入value

注: 一旦找到一个search后,命令就结束了,因此不会插入多个value  

rpoplpush source dest
作用: 把source的尾部拿出,放在dest的头部,
并返回 该单元值 场景: task + bak 双链表完成安全队列
Task列表 bak列表 1 1 1 1 1 1 业务逻辑:
:Rpoplpush task bak
:接收返回值,并做业务处理
:如果成功,rpop bak 清除任务. 如不成功,下次从bak表里取任务
brpop ,blpop  key timeout

作用:等待弹出key的尾/头元素,

Timeout为等待超时时间

如果timeout为0,则一直等待

场景: 长轮询Ajax,在线聊天时,能够用到

Setbit 的实际应用

场景: 1亿个用户, 每个用户 登陆/做任意操作  ,记为 今天活跃,否则记为不活跃

每周评出: 有奖活跃用户: 连续7天活动
每月评,等等... 思路: Userid dt active
--
- 如果是放在表中, :表急剧增大,:要用group ,sum运算,计算较慢 用: 位图法 bit-map
Log0721: ‘...............’ ......
log0726 : ‘...............’
Log0727 : ‘.............’ : 记录用户登陆:
每天按日期生成一个位图, 用户登陆后,把user_id位上的bit值置为1 : 把1周的位图 and 计算,
位上为1的,即是连续登陆的用户 redis 127.0.0.1:> setbit mon
(integer)
redis 127.0.0.1:> setbit mon
(integer)
redis 127.0.0.1:> setbit mon
(integer)
redis 127.0.0.1:> setbit mon
(integer)
redis 127.0.0.1:> setbit thur
(integer)
redis 127.0.0.1:> setbit thur
(integer)
redis 127.0.0.1:> setbit thur
(integer)
redis 127.0.0.1:> setbit thur
(integer)
redis 127.0.0.1:> setbit wen
(integer)
redis 127.0.0.1:> setbit wen
(integer)
redis 127.0.0.1:> setbit wen
(integer)
redis 127.0.0.1:> setbit wen
(integer)
redis 127.0.0.1:> bitop and res mon feb wen
(integer) 如上例,优点:
: 节约空间, 1亿人每天的登陆情况,用1亿bit,约1200WByte,约10M 的字符就能表示
: 计算方便

  

ltrim key start stop

redis link 链表结构的更多相关文章

  1. 双链表【参照redis链表结构】

    参照了Redis里面的双链表结构,可以说是完全复制粘贴,redis的双链表还是写的很通俗易懂的,没有什么花里胡哨的东西,但是redis还有个iter迭代器的结构来遍历链表.我这里就没有实现了,只是实现 ...

  2. Redis数据结构—链表与字典的结构

    目录 Redis数据结构-链表与字典的结构 链表 Redis链表节点的结构 Redis链表的表示 Redis链表用在哪 字典 Redis字典结构总览 Redis字典结构分解 Redis字典的使用 Re ...

  3. Redis 链表结构 和 常用命令

    Redis 数据结构 --链表(linked-list) 命令 说明 备注 lpush key node1 [node2 ...] 把节点 node1 加入到 链表最左边 如果是 node1.node ...

  4. redis 压缩链表

    redis 压缩链表 概述 压缩链表是相对于普通链表而言的 当普通链表的数据越来越多, 链表查询性能会低效 当存储的数据较少时, 使用链表存储会浪费空间 压缩链表本质上是一个字符串 压缩链表内存储的数 ...

  5. 【Redis源代码剖析】 - Redis内置数据结构之压缩字典zipmap

    原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/51111230 今天为大家带来Redis中zipmap数据结构的分析,该结构定义在 ...

  6. Redis数据结构—链表与字典

    目录 Redis数据结构-链表与字典 链表 Redis链表节点的结构 Redis链表的表示 Redis链表用在哪 字典 Redis字典结构总览 Redis字典结构分解 哈希算法 解决键冲突 rehas ...

  7. 数据结构:单链表结构字符串(python版)改进

    此篇文章的replace实现了字符串类的多次匹配,但依然有些不足. 因为python字符串对象为不变对象,所以replace方法并不修改原先的字符串,而是返回修改后的字符串. 而此字符串对象时用单链表 ...

  8. javascript中的链表结构—双向链表

    1.概念 上一个文章里我们已经了解到链表结构,链表的特点是长度不固定,不用担心插入新元素的时候新增位置的问题.插入一个元素的时候,只要找到插入点就可以了,不需要整体移动整个结构. 这里我们了解一下双向 ...

  9. [pjsip]Pjlib中的链表结构

    Pjlib的链表结构跟常见的链表结构有所区别,如下图所示: 图1:一般链表结构 图2:pjlib中的链表结构 可以看到一般的双向链表是链表节点包含数据域,而pjlib中是数据域包含链表节点.一般的链表 ...

随机推荐

  1. BuddyPress创建组、查看成员信息等找不到页面

    BuddyPress创建组.查看成员信息等找不到页面 http://aoxuangame.com/wordpress/groups/create/ http://aoxuangame.com/word ...

  2. 机器学习理论之SVM

    支持向量机系列 (1) 算法理论理解 http://blog.pluskid.org/?page_id=683 手把手教你实现SVM算法(一) (2) 算法应用 算法应用----python 实现实例 ...

  3. am335x 10.1"电容touch 不能识别

    /**************************************************************** * am335x 10.1"电容touch 不能识别 * ...

  4. Windows 中 .\ 和 ..\ 的区别

    .\ 表示项目文件所在目录之下的目录...\ 表示项目文件所在目录向上一级目录下的目录...\..\表示项目文件所在目录向上二级目录之下的目录.

  5. javascript -- 将数组转换为字符串:join()

    join(separator) 方法用于把数组中的所有元素放入一个字符串.元素是通过指定的分隔符进行分隔的. separator:可选,指定要使用的分隔符.如果省略该参数,则默认使用逗号作为分隔符 v ...

  6. atitit.javascript调用java in swt attilax 总结

    atitit.javascript调用java in swt attilax 总结 1. BrowserFunction 简单介绍1 1.1. BrowserFunction 能够分为三类: 1 1. ...

  7. 给网站添加X-UA-Compatible标签

    给网站添加X-UA-Compatible标签 方法一:<meta http-equiv="X-UA-Compatible" content="IE=EmulateI ...

  8. jquery获取当前select下拉选的属性值

    body中: <li> <select id="select_phone"></select> <input type="but ...

  9. HBase学习之深入理解Memstore-6

      MemStore是HBase非常重要的组成部分,深入理解MemStore的运行机制.工作原理.相关配置,对HBase集群管理以及性能调优有非常重要的帮助. HBase Memstore 首先通过简 ...

  10. Oracle从字符串资源中得到想要的数据分析

    [oracle]从字符串资源中得到想要的数据分析需求:订单分析,按照游戏,帐号级别,游戏帐号职业,区服,价格区间分析各款交易数据走势 .目标:订单表(order)处理分析:订单中可以直接读到的标示有游 ...