Redis

基于Redis无序集合如何实现禁止多端登录功能

前言 一个集合类型可以存储最多2^32 -1 个字符串 集合类型在redis内部使用值为空的散列表(hash table)实现,所以集合中的加入或删除元素等时间复杂度为O(1)。 集合具有元素唯一性。 本文主要给大家介绍了基于Redis无序集合实现禁止多端...

redis分布式锁的go-redis实现方法详解

在分布式的业务中 , 如果有的共享资源需要安全的被访问和处理 , 那就需要分布式锁 分布式锁的几个原则; 1.「锁的互斥性」:在分布式集群应用中,共享资源的锁在同一时间只能被一个对象获取。 2. 「可重入」:为了避免死锁,这把锁是可以重入的,并且可以设置超...

浅谈Redis的几个过期策略

概述 设置过期时间 expire key time(以秒为单位) 这是最常用的方式 setex(String key, int seconds, String value) 字符串独有的方式 除了字符串自己独有设置过期时间的方法外,其他方法都需要依靠exp...

redis执行redis命令的方法教程

Redis 命令 Redis 命令用于在 redis 服务上执行操作。所以我们必须要启动Redis服务程序,也就是redis安装目录下的redis-server.exe,你可以双击执行,也可以打开cmd窗口,将路径定位到Redis安装目录下,通过redis...

redis用list做消息队列的实现示例

生产消息服务 消费消息服务,定时任务 日志 测试 leftPush消息入队,rightPop对应,消息出队。 rightPop(RedisConstant.MQ_LIST, 0L, TimeUnit.SECONDS)阻塞出队,0表示永久阻塞 生产消息服务 ...

redis的bigkey扫描脚本深入介绍

前言 众所周知,redis里面的大key存在是非常危险的一件事情。因为最近的工作转移到中间件相关的工作,因此关注了一下bigkey的扫描方法。首先介绍一下阿里云提供的扫描脚本: 具体可见:https://yq.aliyun.com/articles/117...

redis单线程快的原因和原理

Redis之所以执行速度很快,主要依赖于以下几个原因: (一)纯内存操作,避免大量访问数据库,减少直接读取磁盘数据,redis 将数据储存在内存里面,读写数据的时候都不会受到硬盘 I/O 速度的限制,所以速度快; (二)单线程操作,避免了不必要的上下文切换...

Redis数据结构之链表详解

1 链表和链表节点的结构 1.1 节点结构 节点的结构大概长下边这个样子: 那么,把这些节点就连起来就成了这个样子: 1.2 链表结构 链表自然除了要把这些节点连起来,还得保存一些其他的信息,不然也太简单了,对吧。那么链表的结构大概长下边这个样子: hea...

Redis缓存常用4种策略原理详解

我们都知道,提高系统性能的最简单也最流行的方法之一其实就是使用缓存。我们引入缓存,相当于对数据进行了复制。每当系统数据更新时,保持缓存和数据源(如 MySQL 数据库)同步至关重要,当然,这也取决于系统本身的要求,看系统是否允许一定的数据延迟。 最常见的几...