- 一、Redis简介Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis是一个内存中的键值数据库,通常称为数据结构服务器。Redis和其他键值数据库之间的主要区别之一是Redis存储和操作高级数据类型的能力。这些数据类型是大多数... 一、Redis简介Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis是一个内存中的键值数据库,通常称为数据结构服务器。Redis和其他键值数据库之间的主要区别之一是Redis存储和操作高级数据类型的能力。这些数据类型是大多数...
- Redis 企业应用场景 一 短信登录基于Redis实现共享session登录选择合适的数据结构选择合适的key选择合适的存储粒度 二 数据缓存 2.1 缓存更新策略内存淘汰:利用Redis内置的内存淘汰机制,当内存不足时自动淘汰部分数据,下次查询时更新数据。超时剔除:给数据添加TTL时间,到期后自动删除。主动更新:编写代码,修改数据的时候同时更新缓存。先操作数据库,再删缓存。 2.2 缓... Redis 企业应用场景 一 短信登录基于Redis实现共享session登录选择合适的数据结构选择合适的key选择合适的存储粒度 二 数据缓存 2.1 缓存更新策略内存淘汰:利用Redis内置的内存淘汰机制,当内存不足时自动淘汰部分数据,下次查询时更新数据。超时剔除:给数据添加TTL时间,到期后自动删除。主动更新:编写代码,修改数据的时候同时更新缓存。先操作数据库,再删缓存。 2.2 缓...
- 个人主页giteeGitHub 个人简介作者是一个来自河源的大三在校生,以下笔记都是作者自学之路的一些浅薄经验,如有错误请指正,将来会不断的完善笔记,帮助更多的Java爱好者入门。 Docker安装非关系型数据库–Redis 教程 docker pull redis:latest #从Docker仓库拉取最新的Redis镜像 docker run -itd --name yblog... 个人主页giteeGitHub 个人简介作者是一个来自河源的大三在校生,以下笔记都是作者自学之路的一些浅薄经验,如有错误请指正,将来会不断的完善笔记,帮助更多的Java爱好者入门。 Docker安装非关系型数据库–Redis 教程 docker pull redis:latest #从Docker仓库拉取最新的Redis镜像 docker run -itd --name yblog...
- redis主从复制原理 redis主从复制原理
- 百日冲刺高频面试题,本期开始把《一张图片背后的故事》加入进来,希望给我们带来更多的感动。有同学投稿的请联系我 百日冲刺高频面试题,本期开始把《一张图片背后的故事》加入进来,希望给我们带来更多的感动。有同学投稿的请联系我
- 1.Redis持久化机制Redis处理数据都是在内存里进行处理的,如果物理机出现突然宕机,进程就会被停止,进程中存储的数据就会全部丢失,这种情况肯定是需要进行处理的,因此必须有一种机制来保证Redis中的数据不会因为故障等客观因素而发生丢失,而这种机制就被称为Redis 的持久化机制。Redis的持久化机制有两种机制,第一种是RDB镜像快照,另一种是AOF日志的形式。2.RDB镜像快照RDB... 1.Redis持久化机制Redis处理数据都是在内存里进行处理的,如果物理机出现突然宕机,进程就会被停止,进程中存储的数据就会全部丢失,这种情况肯定是需要进行处理的,因此必须有一种机制来保证Redis中的数据不会因为故障等客观因素而发生丢失,而这种机制就被称为Redis 的持久化机制。Redis的持久化机制有两种机制,第一种是RDB镜像快照,另一种是AOF日志的形式。2.RDB镜像快照RDB...
- 消息大小考虑crc16()一共可以有:2^16 -1=65535不同的余数,代表bitmap 有 65535 bit。所以bitmap的大小可以计算为65535 / 8 (8bit/byte)/1024(1k)=7.99 Kbytes尽管crc16能得到65535个值,但redis选择16384个slot,是因为16384的消息只占用了2k,而65535则需要8k。正常的心跳包携带节点的... 消息大小考虑crc16()一共可以有:2^16 -1=65535不同的余数,代表bitmap 有 65535 bit。所以bitmap的大小可以计算为65535 / 8 (8bit/byte)/1024(1k)=7.99 Kbytes尽管crc16能得到65535个值,但redis选择16384个slot,是因为16384的消息只占用了2k,而65535则需要8k。正常的心跳包携带节点的...
- 1.Redis事务1.1 Redis事务的使用Redis在执行事务的时候是不会进行回滚的,而是会继续执行余下的命令。Redis只会在语法错误或者类型和命令不匹配的情况,才会发生失败,这样可以使得Redis内部保持简单且快速。1.2 启动事务Redis是通过multi指令来启动事务的,由于Redis是单进程单线程进行处理数据的,所以当两个客户端都发起事务时,会进入一种队列模式,此时需要看哪个客... 1.Redis事务1.1 Redis事务的使用Redis在执行事务的时候是不会进行回滚的,而是会继续执行余下的命令。Redis只会在语法错误或者类型和命令不匹配的情况,才会发生失败,这样可以使得Redis内部保持简单且快速。1.2 启动事务Redis是通过multi指令来启动事务的,由于Redis是单进程单线程进行处理数据的,所以当两个客户端都发起事务时,会进入一种队列模式,此时需要看哪个客...
- 完成一个手机验证码功能要求:1、输入手机号,点击发送后随机生成6位数字码,2分钟有效2、输入验证码,点击验证,返回成功或失败3、每个手机号每天只能输入3次流程分析代码实现public class PhoneCode { public static void main(String[] args) { //模拟验证码发送 verifyCode("123456... 完成一个手机验证码功能要求:1、输入手机号,点击发送后随机生成6位数字码,2分钟有效2、输入验证码,点击验证,返回成功或失败3、每个手机号每天只能输入3次流程分析代码实现public class PhoneCode { public static void main(String[] args) { //模拟验证码发送 verifyCode("123456...
- 1. 什么是发布和订阅 2. Redis的发布和订阅 3. 发布订阅命令行实现 1. 什么是发布和订阅Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息Redis 客户端可以订阅任意数量的频道 2. Redis的发布和订阅1、客户端可以订阅频道如下图2、当给这个频道发布消息后,消息就会发送给订阅的客户端 3. 发布订阅命... 1. 什么是发布和订阅 2. Redis的发布和订阅 3. 发布订阅命令行实现 1. 什么是发布和订阅Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息Redis 客户端可以订阅任意数量的频道 2. Redis的发布和订阅1、客户端可以订阅频道如下图2、当给这个频道发布消息后,消息就会发送给订阅的客户端 3. 发布订阅命...
- 1.Redis的诞生1.1 磁盘和内存数据存储分为两个位置,一个是磁盘,另一个是内存。1.1.1 磁盘的优势是成本价格便宜,缺点是寻址速度是ms(毫秒级)补充:磁盘由一圈圈磁道组成,而磁道又由很多扇区组成,读取扇区中的数据时,最少是读取4k的数据,如果小于4k还是会读取4k的信息。1.1.2 内存的优势是寻址速度是ns(纳秒级,相当于磁盘的十万倍),缺点是成本价格很昂贵1.2 为什么使用Re... 1.Redis的诞生1.1 磁盘和内存数据存储分为两个位置,一个是磁盘,另一个是内存。1.1.1 磁盘的优势是成本价格便宜,缺点是寻址速度是ms(毫秒级)补充:磁盘由一圈圈磁道组成,而磁道又由很多扇区组成,读取扇区中的数据时,最少是读取4k的数据,如果小于4k还是会读取4k的信息。1.1.2 内存的优势是寻址速度是ns(纳秒级,相当于磁盘的十万倍),缺点是成本价格很昂贵1.2 为什么使用Re...
- 4. List 操作 4.1 RPush在名称为key的list尾添加一个值为value的元素val:=redisClient.RPush("F", []string{"One", "Two", "Three","Four"})if val == nil { fmt.Println("Value get error")}fmt.Println(val) 4.2 LLen & LRangeL... 4. List 操作 4.1 RPush在名称为key的list尾添加一个值为value的元素val:=redisClient.RPush("F", []string{"One", "Two", "Three","Four"})if val == nil { fmt.Println("Value get error")}fmt.Println(val) 4.2 LLen & LRangeL...
- 3. String 操作 3.1 Set & GetSet 源码可以看到这个set的第一个参数就是key,第二个参数是value,第三个参数就是过期时间。Get 源码set Key、Value以及过期时间Key 为Fan,Value为One,过期时间为3sredisClient.Set("Fan","One",3*time.Second)在3s内打印出来val := redisClient... 3. String 操作 3.1 Set & GetSet 源码可以看到这个set的第一个参数就是key,第二个参数是value,第三个参数就是过期时间。Get 源码set Key、Value以及过期时间Key 为Fan,Value为One,过期时间为3sredisClient.Set("Fan","One",3*time.Second)在3s内打印出来val := redisClient...
- 1. Redis简介Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。支持诸如字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、带范围查询的排序集合(sorted sets)、位图(bitmaps)、hyperloglogs、带半径查询和流的地理空间索引(geospatial indexes)等数据结构。... 1. Redis简介Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。支持诸如字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、带范围查询的排序集合(sorted sets)、位图(bitmaps)、hyperloglogs、带半径查询和流的地理空间索引(geospatial indexes)等数据结构。...
- 前言浏览商品的历史记录主要有两种方式实现cookie(用户浏览器存储)redis(服务端存储)本文介绍redis实现用户浏览商品的历史记录思路: 用户每次浏览商品时, 向后台发送请求, 携带商品ID, 然后在 Redis中存储: 用户ID和浏览的商品ID,以时间排序. 来实现存储用户浏览历史记录.其比较复杂的是redis选用数据结构(有序Set) 一、商品浏览历史记录功能实现 1.后台统计... 前言浏览商品的历史记录主要有两种方式实现cookie(用户浏览器存储)redis(服务端存储)本文介绍redis实现用户浏览商品的历史记录思路: 用户每次浏览商品时, 向后台发送请求, 携带商品ID, 然后在 Redis中存储: 用户ID和浏览的商品ID,以时间排序. 来实现存储用户浏览历史记录.其比较复杂的是redis选用数据结构(有序Set) 一、商品浏览历史记录功能实现 1.后台统计...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢
2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考
2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本
2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签