Redis
文章平均质量分 88
billgates_wanbin
这个作者很懒,什么都没留下…
展开
-
redis学习笔记-sorted set原理
zset 基本使用我们先来看一下 zset 都有哪些操作:序号命令及描述1ZADD key score1 member1 [score2 member2] 向有序集合添加一个或多个成员,或者更新已存在成员的分数2ZCARD key 获取有序集合的成员数3ZCOUNT key min max 计算在有序集合中指定区间分数的成员数4ZINCRBY key increment member 有序集合中对指定成员的分数加上增量 increment5ZINTE原创 2022-03-21 10:38:36 · 1801 阅读 · 0 评论 -
redis学习笔记-set原理
set 基本使用Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。集合对象的编码可以是 intset 或者 hashtable。如果是 intset 那么它是 经过升序排序的。序号 命令及描述 1 SADD key member1 [member2] 向集合添加一个或多个成员 2 SCARD key获取集合的成员数 3 SDIFF key1 [key2]返回第一个集合与其他集合之间的差异。 4原创 2022-03-21 10:35:19 · 1760 阅读 · 0 评论 -
redis学习笔记-hash原理
基本概念字典又称散列表,是用来存储键值(key-value)对的一种数据结构,在很多高级语言中都有实现。通常有 map 之类的。在redis使用中的特点:可以存储海量数据,键值对是映射关系,可以根据键以O(1)的时间复杂度取出或插入关联值。键值对中键的类型可以是字符串、整型、浮点型等,且键是唯一的。例如:执行set test "hello world"命令,此时的键test类型为字符串,如test这个键存在数据库中,则为修改操作,否则为插入操作。键值对中值的类型可为String、Hash、Lis原创 2022-03-17 10:25:57 · 1355 阅读 · 0 评论 -
redis学习笔记-list原理
list 基本功能命令描述BLPOP key1,key2,…… timeout移除并获取列表的第一个元素,如果列表没有元素会阻塞列表直到等待超时或者弹出元素为止。BRPOP key1 [key2 ] timeout移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。BRPOPLPUSH source destination timeout从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它; 如果列表没有元素会阻塞列表直原创 2022-03-16 10:11:36 · 1857 阅读 · 0 评论 -
redis学习笔记-string原理
字符串 是 Redis 最基本的数据类型,不仅所有 key 都是字符串类型,其它几种数据类型构成的元素也是字符串。注意字符串的长度不能超过 512 M。首先是谁规定不能超过 512 M?或者为什么不能超过 512 M?// 源码定义(检查字符串长度)static int checkStringLength(redisClient *c, long long size) { if (size > 512*1024*1024) { addReplyError(c,"strin原创 2022-03-15 10:27:43 · 554 阅读 · 0 评论 -
redis学习笔记-概述
redis介绍Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区。Redis到底有多快Redis采用的是基于内存的采用的是单进程单线程模型的 KV 数据库,由C语言编写,官方提供的数据是可以达到100000+的QP原创 2022-03-15 10:23:54 · 147 阅读 · 0 评论 -
golang使用redis分布式锁 [2020年更新]
我还记得上一篇文章golang使用redis分布式锁还是18年写的,但是对于现在来说已经不适用,所以今天我更新了go使用redis分布式锁,对想用redis分布式锁的人一个简单的讲解,并快速用于实践。首先,最需要的还是redis的go客户端github.com/gomodule/redigo 已经不是之前的那个路径了。 然后下载github.com/go-redsync/redsync这个库,他就是实现分布式锁的核心。 当然你也可以自己实现,但是我今天只说这个库的用法。// A Mute...原创 2020-05-15 13:48:49 · 4410 阅读 · 2 评论 -
golang使用redis分布式锁
昨天由于项目需求,需要使用redis分布式锁,在网上找了半天,也没有找到一个简单的教程,经过自己研究,了解简单使用方法,都可以直接拿过来自己用,下面我就发出来给大家分享一下。首先下载 github.com/garyburd/redigo,因为这个分布式锁是根据上面所实现; 下载 gopkg.in/redsync.v1这个就是实现分布式锁的源代码(如果测试需要下载 github.c...原创 2018-09-19 11:52:56 · 12382 阅读 · 16 评论