Redis 简介Redis 是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的 Web 应用程序。Redis 也被作者戏称为 数据结构服务器 ,这意味着使用者可以通过一些命令,基于带有 TCP 套接字的简单 服务器-客户端 协议来访问一组 可变数据结构 。(在 Redis 中都采用键值对的方式,只
转载 2023-08-11 15:07:53
124阅读
1.Redisson简介Redis 是最流行的 NoSQL 数据库解决方案之一,而 Java 是世界上最流行(注意,我没有说“最好”)的编程语言之一。虽然两者看起来很自然地在一起“工作”,但是要知道,Redis 其实并没有对 Java 提供原生支持。相反,作为 Java 开发人员,我们若想在程序中集成 Redis,必须使用 Redis 的第三方库。而 Redisson 就是用于在 Java 程序中
转载 2023-08-20 16:22:56
54阅读
前言Redis对于我们来说并不陌生,它是线程安全的(单线程),单机redis支撑万级,超过十万+级别并发量就需要用的Redis集群了。然而虽然并发量提升了同时也会有另外的问题,那就是数据不一致问题,这个时候我们就可以用的分布式锁,而Redisson已经帮我们实现好了,我们只要引入Redisson  Jar包就行。介绍Redisson 不只是一个 Java Redis 客户端,它是一个以内
转载 2023-08-07 22:29:41
156阅读
# Redisson底层源码实现教程 ## 1. 整体流程 为了帮助你理解Redisson底层源码的实现,下面是一个整体流程的表格,展示了实现的步骤和需要做的事情。 | 步骤 | 描述 | | --- | --- | | 1 | 导入Redisson库和相关依赖 | | 2 | 创建Redisson客户端连接 | | 3 | 选择数据结构(如Map或Set) | | 4 | 对数据结构进行操
原创 10月前
55阅读
Linux Redis 主从复制,Redis slaveof replicaof主从复制,redis-sentinel哨兵================================©Copyright 蕃薯耀 2020-12-18基于一、Redis主从复制配置,从机配置进行redis配置文件的目录,在加入下面的配置(replicaof <masterip> <ma
Redisson源码分析一、加锁时使用lua表达式,执行添加key并设置过期时间二、加锁成
原创 2023-01-18 22:12:20
201阅读
  上一篇博客我们介绍了 redis的五大数据类型详细用法,但是在 Redis 中,这几种数据类型底层是由什么数据结构构造的呢?本篇博客我们就来详细介绍Redis中五大数据类型的底层实现。1、演示数据类型的实现  上篇博客我们在介绍 key 相关命令的时候,介绍了如下命令: OBJECT ENCODING key   该命令是用来显示那五大数据类型的底层数据结构。  比如对
前言前面已经写了Redisson大多的内容,我们再看看Redisson官网共有哪些组件:image.png剩下还有Semaphore和CountDownLatch两块,我们就趁热打铁,赶紧看看Redisson是如何实现的吧。我们在JDK中都知道Semaphore和CountDownLatch两兄弟,这里就不多赘述,不了解的可以再回头看看。Semaphore使用示例先看下Semaphore原理图如下
转载 1月前
12阅读
面试中我们经常会被问到redis有哪些数据类型,大部分人包括我自己可能只回答了最核心的五种数据结构:String,List,set,zset,hash。或许你还会加上HyperLogLog,bitMap,GeoHash,BloomFilter。但这可能还不是面试官想要的回答。面试官可能想要你回答的是Redis的底层数据结构。比如:String在Redis底层是怎么存储的?这些数据类型在Redis中
参考:牛逼!Redis 的字符串是这样实现的…Redis中五大数据结构的底层实现string的底层是怎么实现的redis 跳跃表Redis 只在两个地方用到了跳跃表,一个是实现有序集合键,另外一个是在集群节点中用作内部数据结构。0x02. 简述Redis常用的数据结构及其如何实现的?Redis支持的常用5种数据类型指的是value类型,分别为:字符串String、列表List、哈希Hash、集合S
转载 2023-08-04 23:01:37
38阅读
前言  本博客是对java高薪训练营,redis内容进行复习,所有内容均来自于拉勾提供的课件中的知识点本章学习目标:掌握Redis五种基本数据类型的用法和常见命令的使用了解bitmap、geo、stream的使用理解Redis底层数据结构(Hash、跳跃表、quicklist)了解RedisDB和RedisObject理解LRU算法理解Redis缓存淘汰策略能够较正确的应用Redis缓存淘汰策略1
最近碰到的一个问题,Java代码中写了一个定时器,分布式部署的时候,多台同时执行的话就会出现重复的数据,为了避免这种情况,之前是通过在配置文件里写上可以执行这段代码的IP,代码中判断如果跟这个IP相等,则执行,否则不执行,想想也是一种比较简单的方式吧,但是感觉很low很low,所以改用分布式锁。 目前分布式锁常用的三种方式:1.数据库的锁;2.基于Redis的分布式锁;3.基于ZooKeeper的
目录SDS 的设计到底有多牛逼。List、Set、Sorted Set、Hash 底层实现原理SDS 的设计到底有多牛逼Redis 使用 C 语言编写,但是并没有直接使用 C 语言自带的字符串,而是使用了 SDS 来管理字符串。接下来就来探讨下为什么 Redis 使用了 SDS 来管理字符串。SDS 全称 Simple Dynamic String,即简单动态字符串。SDS 组成部分如下:
文章目录一、基本定义一、类对象的解析一、ISA指针指向解析1.2.3. 影响对象内存的因素二、元类的继承类关系1. 位域的定义2. 联合体的定义3. 结构体和联合体的区别三、内存平移的概念1. 要点2. 通过isa地址获取类对象的内存地址四、 实例方法、属性的存储位置分析五、问题六、用到的指令七、其它 一、基本定义类对象:即类,oc中用@interface 定义。大多数的类对象继承自NSObj
本篇主要讲述什么是Spring和它的IOC容器的实现原理,AOP切面编程以后再说。一、Spring概述1.1 什么是SpringSpring是以IOC(控制反转)和AOP(面向切面编程)为内核的轻量级开源框架。狭小方面来说相当于用一个容器来针对管理我们开发中的bean的生命周期。宽广方面来说它可以集成其它框架技术来完成对JavaEE企业级的开发。想了解更多可以移步至Spring官网。1.2 Spr
Redis的数据结构,可以在两个不同的层面来讨论它,第一个层面,是从使用者的角度。比如:string、list、hash、set、zset(sorted set)五种数据类型,这一层面也是Redis暴露给外部的调用接口。第二个层面,就是这五种数据类型的内部实现结构,属于更底层的实现。比如:dict(字典)、sds(simple dynamic string简单动态字符串)、intset(整数集合)
上一次为大家介绍了AES算法的基本概念,我们是有追求的程序员,不能知其然不知其所以然。这一次,我来了解一下AES算法的底层原理。小明:老师,上一次你介绍了AES算法的基本概念,这一次可不可以讲讲AES的底层加密解密原理?老师:没问题,让我们先来回顾一下AES算法整体的关系图。上一篇我们已经对AES的总体加密流程进行了介绍,在这里我们重新梳理一下:1.把明文按照128bit拆分成若干个明文块。2.按
一、高效分布式锁当我们在设计分布式锁的时候,我们应该考虑分布式锁至少要满足的一些条件,同时考虑如何高效的设计分布式锁,这里我认为以下几点是必须要考虑的。1、互斥在分布式高并发的条件下,我们最需要保证,同一时刻只能有一个线程获得锁,这是最基本的一点。2、防止死锁在分布式高并发的条件下,比如有个线程获得锁的同时,还没有来得及去释放锁,就因为系统故障或者其它原因使它无法执行释放锁的命令,导致其它线程都无
转载 2023-08-06 00:59:42
253阅读
本文主要介绍block的类型、循环引用的解决方法以及block底层的分析block 类型block主要有三种
原创 2021-07-02 14:28:43
1141阅读
iOS 底层原理 文章汇总KVC的全称是Key-Value Coding,翻译成中文是 键值编码,键值编码是由NSKeyValueCoding非正式协议启用的一种机制,对象采用该协议来间接访问其属性。既可以通过一个字符串key来访问某个属性。这种间接访问机
原创 2021-09-01 17:00:33
398阅读
  • 1
  • 2
  • 3
  • 4
  • 5