redis
whpark
这个作者很懒,什么都没留下…
展开
-
redis十五、缓存穿透与雪崩
十五、缓存穿透与雪崩服务的高可用问题在这里我们不会详细的区分析解决方案的底层! Redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一 些问题。其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题无解。如果对数据 的一致性要求很高,那么就不能使用缓存。另外的一些典型问题就是,缓存穿透、缓存雪崩和缓存击穿。目前,业界也都有比较流行的解决方案。缓存穿透(查不到)概念在默认情况下,用户请求数据时,会先在缓存(Redis)中查找,若没找到即原创 2020-12-31 23:32:33 · 240 阅读 · 1 评论 -
redis学习十四、Redis主从复制
十四、Redis主从复制概念主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点 (master/leader),后者称为从节点(slave/follower);数据的复制是单向的,只能由主节点到从节点。 Master以写为主,Slave 以读为主。默认情况下,每台Redis服务器都是主节点; 且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。主从复制的作用主要包括:1、数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方原创 2020-12-31 23:30:42 · 210 阅读 · 0 评论 -
redis学习十三、Redis发布与订阅
十三、Redis发布与订阅Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。微信、 微博、关注系统!Redis 客户端可以订阅任意数量的频道。订阅/发布消息图:第一个:消息发送者,第二个:频道第三个:消息订阅者!。下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个原创 2020-12-31 23:27:28 · 200 阅读 · 0 评论 -
redis学习十二、RDB和AOP选择
十二、RDB和AOP选择RDB 和 AOF 对比项目RDBAOF启动优先级低高体积小大恢复速度快慢数据安全性丢数据根据策略决定如何选择使用哪种持久化方式?一般来说, 如果想达到足以媲美 PostgreSQL 的数据安全性, 你应该同时使用两种持久化功能。如果你非常关心你的数据, 但仍然可以承受数分钟以内的数据丢失, 那么你可以只使用 RDB 持久化。有很多用户都只使用 AOF 持久化, 但并不推荐这种方式: 因为定时生成 RDB 快照(原创 2020-12-31 23:25:44 · 376 阅读 · 0 评论 -
redis学习十一、持久化-AOF
十一、持久化-AOFAppend Only File什么是AOF以日志的形式来记录每个写的操作,将Redis执行过的所有指令记录下来(读操作不记录),只许追加文件但不可以改写文件,redis启动之初会读取该文件重新构建数据,换言之,redis重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作。Aof保存的是 appendonly.aof 文件为什么要用AOF快照功能(RDB)并不是非常耐久(durable): 如果 Redis 因为某些原因而造成故障停机, 那原创 2020-12-30 17:48:53 · 206 阅读 · 0 评论 -
redis学习十、持久化-RDB
十、持久化-RDBRedis 是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中 的数据库状态也会消失。所以 Redis 提供了持久化功能!RDB:Redis Databases什么是RDB在主从复制中,rdb就是用来备用的,在从机上面,不去占用主机内存。在指定时间间隔后,将内存中的数据集快照写入数据库 ;在恢复时候,直接读取快照文件,进行数据的恢复 ;默认情况下, Redis 将数据库快照保存在名字为 dump.rdb的二进制文件中。文件名可以在配置文件中原创 2020-12-30 17:44:51 · 120 阅读 · 0 评论 -
redis学习九、Redis.conf详解
九、Redis.conf详解启动的时候,就通过配置文件来启动! 工作中,一些小小的配置,可以让你脱颖而出!单位不区分大小写,G和GB有区别包含可以使用 include 组合多个配置问题就是好比我们学习Spring、import, include网络配置 NETWORKbind 127.0.0.1 # 绑定的ipprotected-mode yes # 保护模式port 6379 # 端口设置通用 GENERALdaemonize yes # 以守护进程的方式运行原创 2020-12-30 17:34:39 · 59 阅读 · 0 评论 -
redis学习八、自定义Redis工具类
八、自定义Redis工具类使用RedisTemplate需要频繁调用.opForxxx然后才能进行对应的操作,这样使用起来代码效率低下,工作中一般不会这样使用,而是将这些常用的公共API抽取出来封装成为一个工具类,然后直接使用工具类来间接操作Redis,不但效率高并且易用。工具类链接:https://www.cnblogs.com/leeego-123/p/10511856.html@Componentpublic final class RedisUtil { @Autowired原创 2020-12-30 17:31:36 · 115 阅读 · 0 评论 -
redis学习七、SpringBoot整合redis
七、SpringBoot整合导入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>springboot 2.x后 ,原来使用的 Jedis 被 lettuce 替换。jedis:采用的直连,多个线程操作原创 2020-12-30 17:27:54 · 136 阅读 · 0 评论 -
redis学习六、Jedis
六、Jedis使用Java来操作Redis,Jedis是Redis官方推荐使用的Java连接redis的客户端。导入依赖<!--导入jredis的包--><dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.2.0</version></depend原创 2020-12-30 17:24:00 · 64 阅读 · 0 评论 -
redis学习五、redis事务
五、事务Redis的单条命令是保证原子性的,但是redis事务不能保证原子性Redis 事务本质:一组命令的集合!一个事务中的所有命令都会被序列化,在事务执行过程的中,会按 照顺序执行! 一次性、顺序性、排他性!执行一些列的命令!执行过程中按顺序执行,不允许其他命令进行干扰。一次性顺序性排他性Redis事务没有隔离级别的概念所有的命令在事务中,并没有直接被执行!只有发起执行命令的时候才会执行!ExecRedis单条命令是保证原子性的,但是事务不保证原子性!Redi原创 2020-12-30 17:19:05 · 82 阅读 · 0 评论 -
redis学习四、redis三种特殊数据类型
三种特殊数据类型Geospatial(地理位置)朋友的定位,附近的人,打车距离计算? Redis 的 Geo 在Redis3.2 版本就推出了! 这个功能可以推算地理位置的信息,两地之间的距离,方圆 几里的人!可以查询一些测试数据:http://www.jsons.cn/lngcodeinfo/0706D99C19A781A3/只有 六个命令:使用经纬度定位地理坐标并用一个有序集合zset保存,所以zset命令也可以使用命令描述geoadd key longitud(经度原创 2020-12-30 17:16:23 · 141 阅读 · 0 评论 -
redis学习三、redis五大数据类型
五大数据类型Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU e原创 2020-12-30 17:15:03 · 121 阅读 · 1 评论 -
redis学习二、redis概述和安装
redis入门概述redis是什么Redis(Remote Dictionary Server ),即远程字典服务 ! 是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库, 并提供多种语言的API。redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了 master-slave(主从)同步。免费和开源!是当下最热门的 NoSQL 技术之一!也被人们称之为结构化数据库!redis能干嘛1、内存存原创 2020-12-30 16:52:07 · 131 阅读 · 0 评论 -
redis学习一、Nosql概述
一、Nosql概述为什么使用Nosql1、单机Mysql时代90年代,一个基本的网站访问量一般不会太大,单个数据库完全足够!那个时候,更多的去使用静态网页 Html ~ 服务器根本没有太大的压力!思考一下,这种情况下:整个网站的瓶颈是什么?1、数据量如果太大、一个机器放不下了!2、数据的索引 (B+ Tree),一个机器内存也放不下3、访问量(读写混合),一个服务器承受不了~只要你开始出现以上的三种情况之一,那么你就必须要晋级!2、Memcached(缓存) + MySQL +原创 2020-12-28 21:33:29 · 117 阅读 · 0 评论