go-redis对redis执行批量操作的类是Pipeliner,具体示例如下.
运行该示例可在redis服务端依次接收到:
MULTI
incr tx_pipeline_counter
expire tx_pipeline_counter 3600
EXEC
多条命令采用批...
发布与订阅功能
Redis 的发布与订阅功能可以让用户将消息同时发送给多个客户端。
这个功能由几个不同的角色 协作组成:
• 发布者(publisher):发布消息的客户端。
• 频道(channel):构建在服务器内部,负...
键过期功能的相关命令
设置生存时间: EXPIRE 命令和 PEXPIRE 命令。
设置过期时间: EXPIREAT 命令和 PEXPIREAT 命令。
查看剩余生存时间: TTL 命令和 PTTL 命令。
删除生存时间或过期时间: PER...
HyperLogLog 介绍
HyperLogLog 可以接受多个元素作为输入,并给出输入元素的基数估算值:
• 基数:集合中不同元素的数量。比如 {'apple', 'banana', 'cherry', 'banana', 'apple'} 的基数就是 3 。
• 估算值:...
有序集合(zset)
有序集合和集合一样,都可以包含任意数量的、各不相同的元素( element),不同于集合的是,有序集合的每个元素都关联着一个浮点数格式的分 值(score),并且有序集合会按照分 值,以从小到大...
集合(set)
Redis 的集合以无序的方式储存多个各不相同的元素。
用户可快速地向集合添加元素,或者从集合里面 删除元素,也可以对多个集合进行集合运算操作,比如计算并集、交集和差集。
添加元素
SADD key ...
列表(list)
一个列表可以包含一个或以上数量的 项(item),每个项按照它们被推入到列表的位置来排列。
每个列表项所处的位置决定了这个项的索引值(index),索引以 0 为开始,从列表的左端到右端依次 递...
散列(hash)
一个散列由多个域值对(field-value pair)组成,散列的域和值都可以是文字、整数、浮点数或者二 进制数据。
同一个散列里面的每个域必 须是独一无二、各不相同的,而域的值则没有这一要求,换...
字符串(string)
Redis 中最简单的数据结构,它既可以储存文字(比如 "hello world"),又可以储存数字(比如整数10086 和浮点数 3.14),还可以储存二进制数据(比如 10010100)。
Redis 为这几种类型的值分...
栈的介绍
栈的英文为stack
栈是一个先入后出(FILO-First In Last Out)的有序列表
栈是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端...
冒泡排序
它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排...
约瑟夫(Josephu)问题
设编号为1,2,3,...... n的n个人围坐一圈,约定编号为k(1<=k<=n)的人从1开始报数,数到m的那个人出列,他的下一位又从1开始报数,数到m的那个人又出列,依次类推,直到所有人出...
链表的定义
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结...
结构体定义
type Queue struct {
maxSize int // 队列的最大长度
array []int // 存放队列数组
head int // 指向队列队首 默认值 0
tail int // 指向队列队尾 默认值 0
}
分析:
什么时候队...
实际需求
编写的五子棋程序中,有存盘退出和续上盘的功能
如果按照原始的方式来存储二维数组,因为该二维数组很多值是默认值0,因此记录了很多没有意义的数据。
基本介绍
当一个数组中大部分元素为0,...