
Redis从入门到精通
文章平均质量分 83
Redis从入门到精通
王哲晓
没有高深的知识,没有进阶的技巧,万丈高楼平地起!
展开
-
第十四章 Redis之全局唯一ID(分布式集群)
全局唯一ID是指在分布式系统中,每个实体都有一个唯一的标识符,确保在不同的节点或服务之间能够唯一标识一个实体。缺点是长度较长,且生成性能较低,不适合大量生成ID的场景,且生成的ID中包含字符,不适合作为订单ID等场景。1. 能够限制这个生成ID的上限,即一天下单的量的最大值为2^32,那么对于像淘宝这种双十一当天的秒杀场景,也能够完全满足。因此,通过Redis集群来生成全局唯一ID,除了能满足要求的五大特性外,对于我们日常业务的部分需求,也能充分满足。:优点是高性能和高并发,能够生成有序的ID;原创 2024-10-07 08:55:38 · 1295 阅读 · 0 评论 -
第十三章 Redis短信登录实战(基于Redis)
分布式集群的Session共享问题是多台Tomcat并不共享session存储空间,当请求切换到不同tomcat的服务时会导致数据丢失问题。原创 2024-10-06 13:51:08 · 1346 阅读 · 0 评论 -
第十二章 Redis短信登录实战(基于Session)
【代码】第十二章 Redis短信登录实战(基于Session)原创 2024-10-06 11:16:10 · 656 阅读 · 0 评论 -
第十一章 缓存之更新/穿透/雪崩/击穿
缓存是一种用于临时存储数据的技术或机制,旨在提高数据访问速度和系统性能。 缓存通常位于计算机系统内部或附近,可以是硬件、软件或两者的结合体。例如,Web浏览器可以将最常访问的网页内容缓存在本地,以便下次访问时无需从远程服务器重新下载。缓存的作用和原理在于利用程序局部性原理,将频繁访问的数据存储在高速存储器中,如SRAM或DRAM,以便快速访问。当硬件需要读取数据时,首先在缓存中查找,如果找到则直接执行,否则从内存中查找。由于缓存的运行速度比内存快得多,因此缓存的作用是帮助硬件更快地运行。原创 2024-10-05 20:47:31 · 1510 阅读 · 0 评论 -
第九章 Redis的java客户端
以Redis命令作为方法名称,学习成本低,简单实用。但是Jedis实例是线程不安全的,多线程环境下需要基于连接池来使用。原创 2024-10-03 22:13:24 · 735 阅读 · 0 评论 -
第十章 Jedis与SpringDataRedis入门
Jedis是Redis官方推荐的Java客户端开发工具。 Jedis提供了丰富的API,使得Java开发者可以方便地操作Redis数据库。Jedis支持Redis的所有数据结构操作,包括字符串、哈希、列表、集合和有序集合等类型的数据。Jedis的设计考虑了连接池的管理,以优化性能和资源利用。由于直接创建和销毁连接资源非常消耗性能,Jedis提供了Jedis连接池技术,通过连接池管理Redis连接,避免了频繁创建和销毁连接的开销。使用连接池可以有效地提升Redis的性能和资源利用率。原创 2024-10-03 17:11:34 · 1676 阅读 · 0 评论 -
第八章 Redis配置文件详解
【代码】第八章 Redis配置文件详解。原创 2024-09-30 10:09:55 · 334 阅读 · 0 评论 -
第七章 Redis常用五大数据类型之ZSet
Redis有序集合ZSet与普通集合Set非常相似,是一个没有重复元素的字符串集合。不同之处是有序集合的每个成员都关联了一个评分(score),这个评分被用来按照从最低分到最高分的方式排序集合中的成员。集合的成员是唯一的,但是评分可以是重复的。因为元素是有序的,所以你也可以很快地根据评分或者次序(position)来获取一个范围的元素。访问有序集合中的元素也是非常快的,因此你能够使用有序集合作为一个没有重复成员的智能列表。原创 2024-09-29 23:17:51 · 904 阅读 · 0 评论 -
第六章 Redis常用五大数据类型之Hash
Redis中的Hash是一个键值对集合,是String类型的field和value的映射表,特别适合存储对象,类似于Java中的Map。使用过程中的案例,将用户ID设定为key,存储的value为用户对象(Java Bean)的姓名、年龄、生日等信息。Hash类型对应的数据结构是两种,ziplist(压缩列表)和hashtable(哈希表),当filed-value长度较短且个数较少时,使用ziplist,否则使用hashtable。原创 2024-09-29 21:15:21 · 543 阅读 · 0 评论 -
第五章 Redis常用五大数据类型之Set
Redis Set对外提供的功能与List类似,是一个列表的功能,特殊之处在于Set是可以自动排重的,当你需要存储一个列表数据,又不希望出现重复数据时,就可以选择Set。并且Set提供了判断某个成员是否在一个Set集合内的重要接口,这个也是List没有提供的。Redis的Set是String类型的无序集合,它底层是一个dict字典,hash表实现。原创 2024-09-29 19:18:57 · 540 阅读 · 0 评论 -
第四章 Redis常用五大数据类型之List
Redis列表是简单的字符串列表,按照插入顺序排序,列表值可以重复。可以添加一个元素到列表的头部(左边)或者尾部(右边)。它的底层实际是双向链表,对两端的操作性能很高,通过索引下标操作中间的节点性能会较差。原创 2024-09-29 16:38:21 · 1035 阅读 · 0 评论 -
第三章 Redis常用五大数据类型之String
String是Redis最基本的类型,一个key对应一个value。String类型是二进制安全的,这意味着Redis的String可以包含任何数据,比如jpg图片或者序列化的对象等待。Sring的数据结构为简单动态字符串(Simple Dynamic String,缩写SDS),是可以修改字符串的,其内部结构实现上类似于Java的ArrayList,采用预分配冗余空间的方式来减少内存的频繁分配。当字符串长度小于1M时,扩容都是加倍现有的空间;原创 2024-09-29 14:44:16 · 1237 阅读 · 0 评论 -
第二章 Redis安装
往下翻可以找到其他版本的Redis,或者直接访问查找所需Redis版本。原创 2024-09-28 00:20:11 · 797 阅读 · 0 评论 -
第一章 Redis介绍
在介绍Redis之前,我们不得不介绍下NoSQL。NoSQL(Not Only SQL)泛指非关系型的数据库,Redis便是其中的一种。NoSQL数据库的产生是为了解决大规模数据集合、多重数据种类带来的挑战,特别是大数据应用难题。具体来说的话,NoSQL用于处理大量、松散结构或半结构化数据,不遵循传统关系型数据库的数据模型。NoSQL数据库的特点包括非关系型、分布式、、和。它们通常使用、、和等形式存储数据,支持动态数据模式,可以灵活地添加、修改和删除字段,适应需求变更的情况。原创 2024-09-18 13:38:55 · 815 阅读 · 0 评论