1.简介     redis是一个开源的key-value数据库。它又经常被认为是一个数据结构服务器。因为它的value不仅包括基本的string类型还有 list,set ,sorted set和hash类型。当然这些类型的元素也都是string类型。也就是说list,set这些集合类型也只能包含 string 类型。你可以在这些类型上做很多原子性的操作。比如对一个
转载 2023-08-23 16:23:41
63阅读
在本文中,我们将详细描述如何搭建一个本地的 Redisson 环境,包括环境准备、分步指南、配置详解、验证测试、排错指南和扩展应用。 Redisson 是一个基于 Redis 的 Java 客户端,提供了丰富的功能,能够帮助我们在开发中更有效地管理数据。搭建本地环境的过程将分为多个步骤,以确保易于理解和实施。以下是该过程的详细步骤。 ## 环境准备 在开始之前,我们需要确保环境满足相应的软件
原创 5月前
118阅读
这篇文章,主要介绍Redis环境搭建之单机模式和主从模式。目录一、单机模式和主从模式1.1、单机模式1.2、主从模式(1)主从模式原理(2)主从模式搭建1.3、主从复制(数据同步)(1)建立连接阶段(2)数据同步阶段(3)命令传播阶段一、单机模式和主从模式Redis是一个采用C语言编写的,高性能的key-value键值对的内存型数据库,每秒读写可以达到10万次。Redis的运行环境大概有四种方式,
 redis源码分析1---结构体---简单动态字符串sds   redis的底层数据结构主要有简单动态字符串,链表,字典,跳跃表,整数集合,压缩列表,对象等组成。 这些数据结构的实现直接影响redis的表现效果,所以第一部分我先打算从这几个角度来对redis的底层数据结构 从源码上进行分析,具体的实现等。 1
Redis 是 key-value 存储系统。支持多种 value 类型存储,包括 String (字符串)、List (链表)、Set (集合)、Zset (有序集合)和 Hash(哈希类型),都支持 push / pop、add / remove 以及取交集并集和差集等操作,且操作都是原子性的。同时,Redis 支持多种不同方式的排序,为了保证操作效率,数据均缓存在内存中。Redis 会周期性
服务治理:Nacos集群环境搭建今天我们就来动手搭建 Nacos 服务注册中心。通过这篇文章,你可以知道如何搭建一个高可用的 Nacos 服务集群,以及如何使用 MySQL 作为 Nacos 的底层数据存储方案。这些内容可以帮助你理解什么是“高可用架构”。我们在做系统架构的时候,首要目标就是保障系统的高可用性。不管你的系统架构多么精妙,用的技术多么先进,如果系统的可用性无法得到保障,那么你做什么都
前言搭建Redis集群必须要先会安装Redis Redis安装文章:搭建Redis集群搭建集群的第一件事情我们需要一些运行在 集群模式的Redis实例. 这意味这集群并不是由一些普通的Redis实例组成的,集群模式需要通过配置启用,开启集群模式后的Redis实例便可以使用集群特有的命令和特性了.1、安装所需环境和工具yum -y install wget vim tcl gcc make注意:re
转载 2023-07-27 23:29:02
585阅读
上一篇介绍了Redis基础知识,以及与mysql,memcached区别。此篇搭建Redis主从同步。 文章目录一、Redis主从同步1、主从复制概念2、特点3、实验二、搭建哨兵模式 一、Redis主从同步1、主从复制概念主从复制模型中,有多个redis节点。 其中,有且仅有一个为主节点Master。从节点Slave可以有多个。只要网络连接正常,Master会一直将自己的数据更新同步给Slaves
转载 2023-09-03 14:50:14
834阅读
准备工作 – 下载redis: http://download.redis.io/releases/redis-6.0.6.tar.gz – 解压 tar -zxvf redis-6.0.6.tar.gz – cd redis-6.0.6 – make开始部署 – 搭建主从服务器 – 在同级目录下执行 mkdir redis-master-slave – cd redis-master-slave
任务调度常见方案说起任务调度,很多时候我们都在用单机的任务调度器,比如Timer、ScheduledThreadPoolExecutor或者Spring内置的@Scheduled。还有就是一些可以整合到项目中的任务调度框架,如Quartz。要么就是分布式任务调度中间件,比如xxl-job等等……优缺点:单机任务调度,简单方便,但是在多机部署的环境下,需要考虑并处理任务同时触发的情况。虽然这个问题可
目录热身KEYS patternEXISTS keyDEL key [key ...]TYPE key字符串类型(string)散列类型(hash)列表类型(list)集合类型(set)有序集合类型(sorted set)热身KEYS pattern获取符合规则的键名列表KEYS patternpattern支持glob风格通配符格式,具体规则如下符号含义?匹配一个字符*匹配任意个(包括0个)字符
转载 2023-09-22 10:50:48
183阅读
上一篇文章主要侧重如何获取锁以及所获取成功的场景,本文将着重对失败以及解锁的情况进行分析,探寻Redisson分布式锁最具艺术的地方。 @Override public boolean tryLock(long waitTime, long leaseTime, TimeUnit unit) throws InterruptedException { long time
转载 2023-11-02 13:54:44
90阅读
一、Redisson概述什么是RedissonRedisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。 它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。 其中包括(BitSet, Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue, Deque,
转载 2023-05-29 14:58:19
1430阅读
分布式架构-Redisson 框架介绍使用一、RedissonRedisson是架设在Redis基础上的一个Java驻内存数据网格。在基于NIO的Netty框架上,充分的利用了Redis键值数据库提供的一系列优势,在Java实用工具包中常用接口的基础上,为使用者提供了一系列具有分布式特性的常用工具类。使得原本作为协调单机多线程并发程序的工具包获得了协调分布式多机多线程并发系统的能力,大大降低了设计
转载 2023-08-30 10:16:47
270阅读
    Redisson分布式锁的使用1.依赖:<!-- 原生,本章使用--> <dependency> <groupId>org.redisson</groupId> <artifactId>redisson</artifactId> <version&g
转载 2023-11-01 23:04:36
97阅读
1. 可重入锁(Reentrant Lock)基于Redis的Redisson分布式可重入锁RLock Java对象实现了java.util.concurrent.locks.Lock接口。同时还提供了异步(Async)、反射式(Reactive)和RxJava2标准的接口。RLock lock = redisson.getLock("anyLock"); // 最常见的使用方法 lock.loc
转载 2023-10-05 23:27:28
0阅读
前言Java缓存实现方案有很多,最基本的自己使用Map去构建缓存,再高级点的使用Ehcache或者Goolge的guava作为内存缓存框架,Ehcache可以满足单机缓存的需求(Ehcache的具体使用在我过往的文章中有所介绍),如果我们是多台机子共用缓存数据的话,Ehcache可通过rmi,jgroup,jms的方式实现,但是实用性与操作性不高且复杂,现时大部分应用仅用Ehcache作为单机缓存
转载 2023-08-25 11:44:53
397阅读
做过企业微信开发的同学应该知道,企业微信有一个很讨厌的报错--接口并发超过限制(45033)。报错的原因呢就是因为有多个线程在同时调用企业微信的接口,为了不让接口调用一直报错,我的服务就也要有一个接口并发控制体系。首先想到的就是用线程池来实现刚开始看起来似乎没什么问题,但是企业微信的接口之间并发限制是互相隔离的,那就意味着,我需要创建几十个线程池。。。你以为这就完了?其实不同企业用户调用的时候又是
转载 2023-09-28 16:00:35
98阅读
Redis bitmap什么是Redis bitmapRedisBitmaps 单独提供了一套命令,所以在 Redis 中使用 Bitmaps 和使用字符串的方法不太相同。可以把 Bitmaps 想象成一个以 “位” 为单位的数组,数组的每个单元只能存储 0 和 1,数组的下标在 Bitmaps 中叫做偏移量。bitmap特点Bitmaps 本身不是一种数据结构, 实际上它就是字符串,但是它可以对
转载 2023-11-10 15:17:27
132阅读
Redisson readWriteLock 其实是通过两个类:RedissonReadLockRedissonWriteLock核心代码就是这两个类里面的script,如readlock的获取读锁如下return commandExecutor.evalWriteAsync(getName(), LongCodec.INSTANCE, command,
转载 2023-07-06 22:04:43
75阅读
  • 1
  • 2
  • 3
  • 4
  • 5