自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 收藏
  • 关注

原创 Redis 高级数据结构 GEO

​ Redis 3.2版本提供了GEO(地理信息定位)功能,支持存储地理位置信息用来实现诸如附近位置、摇一摇这类依赖于地理位置信息的功能。​ 地图元素的位置数据使用二维的经纬度表示,经度范围(-180, 180],纬度范围(-90,90],纬度正负以赤道为界,北正南负,经度正负以本初子午线(英国格林尼治天文台) 为界,东正西负。​ 业界比较通用的地理位置距离排序算法是GeoHash 算法,Redis 也使用GeoHash算法。

2023-06-06 15:28:53 601

原创 Redis 高级数据结构 HyperLogLog

HyperLogLog(Hyper [ ˈhaɪpə(r) ]) 并不是一种新的数据结构(实际类型为字符串类型) ,而是一种基数算法 , 通过HyperLogLog可以利用极小的内存空间完成独立总数的统计,数据集可以是IP、Email、ID等。如果你负责开发维护一个大型的网站,有一天产品经理要网站每个网页每天的 UV 数据,然后让你来开发这个统计模块,你会如何实现?如果统计 PV 那非常好办,给每个网页一个独立的 Redis 计数器就可以了,这个计数器的 key 后缀加上当天的日期。

2023-06-06 15:27:20 537

原创 Composite(组合模式)

Composite(组合模式)

2022-11-17 22:33:20 331

原创 Proxy(代理模式)

Proxy(代理模式)

2022-11-16 22:49:50 429

原创 Template Method(模板方法)

Template Method(模板方法)

2022-11-14 22:11:26 122

原创 State(状态模式)

State(状态模式)

2022-11-14 21:55:10 258

原创 Memento(备忘录模式)

Memento(备忘录模式)

2022-11-14 21:29:44 375

原创 Prototype(原型模式)

Prototype(原型模式)

2022-11-13 14:20:34 699

原创 Command(命令模式)

Command(命令模式)

2022-11-13 13:42:36 746

原创 Bridge (桥接模式)

Bridge (桥接模式)

2022-11-13 12:46:39 565

原创 adapter(适配器模式)

adapter(适配器模式)

2022-11-13 12:26:08 444

原创 builder(建造者模式)

builder(建造者模式)

2022-11-13 11:56:56 594

原创 Visitor(访问者模式)

Visitor(访问者模式)

2022-11-09 23:15:15 272

原创 iterator(迭代器模式)

迭代器

2022-11-09 22:23:50 466

原创 FlyWeight(享元模式)

FlyWeight(享元模式)

2022-11-08 23:00:49 361

原创 Observer(观察者模式)

观察者模式

2022-11-08 22:11:02 401

原创 Java责任链模式(Chain of responsibility)

Java责任链模式(Chain of responsibility)

2022-11-05 21:34:53 799

原创 Decorator(装饰者模式)

装饰者模式

2022-11-05 21:06:56 257

原创 Mediator(中介者模式)

中介者模式

2022-11-05 20:39:58 131

原创 Facade外观模式(门面模式)

外观模式

2022-11-05 20:17:58 206

原创 Strategy(策略模式)

策略模式

2022-11-05 19:45:41 341

原创 Factory(工厂模式)

设计模式工厂模式

2022-11-04 22:19:02 353

原创 23种设计模式

设计模式

2022-11-02 21:28:19 101

原创 Singleton(单例模式)

设计模式单例

2022-11-02 21:21:57 235

原创 Redis 集群(Cluster)实践

Redis集群(Cluster)实践

2022-07-10 15:50:25 35

原创 Redis哨兵模式

Redis哨兵模式

2022-07-03 17:06:13 74

原创 Redis主从复制、CAP原则

Redis主从复制、CAP原则

2022-06-27 22:04:12 86

原创 Redis中AKF问题

Redis中AKF问题

2022-06-25 22:09:13 51

原创 RDB和AOF、(RDB、AOF混合)实操

rdb、aof实操

2022-06-22 23:41:58 269

原创 生成永不重复的编号

public class InvoiceNumberUtils {// 服务器维护这个数字// 每次分配之后+1// cnt可以从0开始// 你也可以指定一个开始的数字public static long cnt = 0L;private static final char[] chars = new char[] { '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g

2022-05-24 16:52:28 583

原创 Redis的持久化方式

https://blog.csdn.net/Dark_Blue__/article/details/117196648

2022-05-03 18:40:19 468

原创 redis缓存淘汰策略原理分析

长期将Redis作为缓存使用,难免会遇到内存空间存储瓶颈,当Redis内存超出物理内存限制时,内存数据就会与磁盘产生频繁交换,使Redis性能急剧下降。此时如何淘汰无用数据释放空间,存储新数据就变得尤为重要了。解决这个问题就涉及到缓存系统的一个重要机制,即缓存数据的淘汰机制。Redis.conf中配置淘汰策略#设置Redis 内存大小的限制,我们可以设置maxmemory ,当数据达到限定大小后,会选择配置的策略淘汰数据 maxmemory 300mb #设置Redis的淘汰策略。 ....

2022-05-03 18:19:13 51

原创 Redis的内存淘汰策略

过期策略1、定期删除Redis 会将每个设置了过期时间的 key 放入到一个独立的字典中,以后会定期遍历这个字典来删除到期的 key。Redis 默认会每秒进行十次过期扫描(100ms一次),过期扫描不会遍历过期字典中所有的 key,而是采用了一种简单的贪心策略。1.从过期字典中随机 20 个 key;2.删除这 20 个 key 中已经过期的 key;3.如果过期的 key 比率超过 1/4,那就重复步骤 1; redis默认是每隔 100ms就随机抽取一些设置了过期时间的key

2022-04-16 18:43:27 23

原创 布隆过滤器(Bloom Filter)

简介 布隆过滤器(Bloom Filter)是由布隆在1970年提出的。它实际上是一个很长的二进制向量(位图)和一系列随机映射函数(哈希函数)。 布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率而且删除困难。...

2022-04-03 19:30:59 34

原创 Linux下安装 ---布隆过滤器(RedisBloom)

安装1、下载RedisBloom wget -c https://github.com/RedisBloom/RedisBloom/archive/refs/tags/v2.2.6.zip2、需要解压zip文件,安装 yum install unzip 已安装请忽略3、unzip v2.2.6.zip 执行解压命令4、cd RedisBloom-2.2.6/ 注意 一定切换到这个目录下5、make 执行make6、执行 ll 命令 可以看到生成了 redisbloom.

2022-04-02 21:36:27 90

原创 Redis的事务

Redis 事务可以一次执行多个命令, 并且带有以下两个重要的保证: 1、事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 2、事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。关于Redis的事务有几点说明Redis的事务仅仅是保证事务里的操作会被连续独占的执行,因为是单线程架构,在执行完事务内所有指令前是不可能再去同时执行其他客户端的请求。Redis的事务没有隔离级别的概念,因为事务提交前

2022-03-29 20:46:38 22

原创 Redis PubSub发布订阅

简介 Redis PubSub 模块又称发布订阅者模式,是一种消息传递系统,实现了消息多播功能。发布者(即发送方)发送消息,订阅者(即接收方)接收消息,而用来传递消息的链路则被称为 channel。在 Redis 中,一个客户端可以订阅任意数量的 channel(可译为频道)。 消息多播:生产者生产一次消息,中间件负责将消息复制到多个消息队列中,每个消息队列由相应的消费组进行消费,这是分布式系统常用的一种解耦方式。流程示意图发布订阅模式的操作指令1、subscribe : 订阅消

2022-03-29 17:27:47 32

原创 Redis 五大数据类型 - Zset类型

Redis中对ZSet类型的操作命令

2022-03-25 17:30:23 37

原创 Redis 五大数据类型 - Hash类型

对Hash类型的操作命令1、hset:设置值。格式:hset key field value 127.0.0.1:6379> hset k1 name zhangsan (integer) 1 127.0.0.1:6379> hset k1 age 18 (integer) 12、hget:获取值。格式:hget key field 127.0.0.1:6379> hget k1 name "zhangsan" 127.0.0.1:6379> hget k1 a

2022-03-25 17:02:08 25

原创 Redis 五大数据类型 - Set类型

对Set类型的操作命令1、sadd:添加元素,格式:sadd key member [member…] 127.0.0.1:6379> sadd myset v1 v2 v3 (integer) 3 127.0.0.1:6379> sadd myset v1 (integer) 02、smembers:获取集合中所有元素,格式:SMEMBERS key 127.0.0.1:6379> SMEMBERS myset 1) "v2" 2) "v1" 3

2022-03-25 16:36:51 360

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除