redis
文章平均质量分 69
乐百寿
day day up
展开
-
SpringCache缓存框架
Spring Cache就是一个这个框架。它利用了AOP,实现了基于注解的缓存功能,Spring Cache也提供了很多默认的配置,业务代码不用关心底层是使用了什么缓存框架,只需要简单地加一个注解,就能实现缓存功能,而且SpringBoot项目默认集成了Spring Cache。Spring Cache有几个常用注解,分别为@Cacheable、@CachePut、@CacheEvict、@Caching、 @CacheConfig。除了最后一个CacheConfig外,其余四个都可以用在类上或者方法级原创 2021-12-04 11:46:05 · 486 阅读 · 0 评论 -
9,redis的分布式锁
随着业务的发展,原来的单机部署已经演变为了分布式集群后,由于同一套代码被部署到了不同的机器上,导致一台机器上的java api锁不能锁住另一台机器的代码,虽然代码是同一套;分布式锁主流实现方案:基于数据库实现分布式锁;基于redis缓存;基于zookeeper;当然每种都有各自优缺,redis性能高,zookeeper可靠;这里就基于redis的...原创 2021-11-28 20:30:20 · 835 阅读 · 0 评论 -
8,redis缓存穿透,缓存击穿,缓存雪崩
一,缓存穿透: 在某一时间服务器遭到恶意访问不存在的数据,但由于访问的数据在redis缓存不存在,而这些查询集中的落在数据库的操作上,导致数据库崩溃;解决方案:对空值也进行缓存,如果查询的值不存在,也进行缓存,只是这个过期时间较短,一般不超过5分钟;设置可以访问的白名单,使用bitmaps,定义一个可访问的白名单,名单的id作为偏移量,每次访都和bitmaps的id进行比较,如果不在,那就不能进行访问,当然这样做每次都需要去bigmaps查询,多少会影响效率;使用布隆过滤器,其实他是一个很长原创 2021-11-28 19:45:49 · 2309 阅读 · 0 评论 -
7,redis的持久化RDB和AOF
Redis提供了2个不同形式的持久化方式RDB(Redis Database)和AOF(Append Of File);来做数据的备份和恢复;一,RDB(Redis Database)持久化; 在指定时时间间隔内将内存中时数据集快照写入磁盘,也就是快照,它恢复时是将快照文件直将读到内存里;RDB持久化过程: rdb会单独创建(fork)子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化程都结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程是不进行任何IO操的,这就确I呆原创 2021-11-28 17:52:11 · 713 阅读 · 0 评论 -
6,redis的事务-秒杀超卖问题
Redis的事务是一个单独的隔离操作。事务的所有命令都会串行化,按顺序的去执行,事务在执行过程中不会被其他客户端传来的命令打断或影响;redis的事务就是串联多个命令,防止其他命令插队;一,redis的事务有三个命令,multi(开启事务),exec(提交事务),discard(取消事务)当输入multi命令,然后再输入其他命令都会进入命令队列(先进先出原则),但是这个时候不会执行,只有输入exce命令后才会执行,而discard命令就是再multi之后,exce命令之前取消队列里面的命令执行的;如原创 2021-11-27 13:35:47 · 1246 阅读 · 0 评论 -
5.springboot集成redis
一,springboot(版本:2.0.2)项目集成redis第一步:准备一个springboot项目(版本:2.0.2),并引入相关依赖<!--springboot整合redis--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></depe原创 2021-11-27 12:49:11 · 144 阅读 · 0 评论 -
4.redis的新数据类型
一,Bigmaps数据类型setbit命令:添加,设置bitmaps中某个偏移量的值(偏移量可以理解为下标从0开始)如:setbit key 偏移量(只能是数字) 值(只能是0或1)getbit命令:根据key和偏移量得到值,返回结果是0或1 如:getbit key 偏移量bitcount命令:统计字符串被设置为1的bit数。一般情况下,给定的整个字符串都会被进行计数,通 过指定额外的start或end参数,可以让计数只在特定的位上进行。start和end参数 的设置,都可以使用负数值:比如原创 2021-11-21 17:41:03 · 850 阅读 · 0 评论 -
3.redis的消息发布和订阅
一,什么是发布和订阅Redis发布订阅(pub/sub)是一种消息通信模式;发送者(pub)发送消息,订阅者(sub)接收消息。Redis客户端可以订阅任意数量的频道。二,命令简单实现SUBSCRIBE channel_1 通过SUBSCRIBE命令订阅一个通道;然后再另个窗口往channel_v1发送消息;原来的窗口就会收到消息...原创 2021-11-21 15:20:54 · 687 阅读 · 0 评论 -
2.Redis简介和基本数据类型命令
一,Redis简介Redis是一个开源的key-value非关系型数据库(NoSql),其技术是单线程+多路IO复用。它支持的存储的value数据类型比较丰富,包括string(字符串),list(链表),set(集合),zset(有序集合),和hash(哈希类型)。这些数据类型都支持push/pop,add/remove及取交集并集和差集,而且这些操作都支持原子性。为保障效率这些数据操作都是内存操作,在保障效率的同时redis也提供了数据持久化的方案AOF和RDB...原创 2021-11-21 14:56:30 · 969 阅读 · 0 评论 -
1-Redis的后台启动Linux环境
当redis6.2.1安装完成后会在/usr/local/bin目录下生成redis的相关文件;第一步切换到redis的安装目录/softWare/redis6/redis-6.2.1找到redis.conf文件并且将文件复制到/etc目录下,(也可以不复制)第二步切换到/etc目录下,找到redis.conf文件,将文件中daemonize no改成yes支持后台启动第三步切换到/usr/local/bin目录启动redis并指定配置文件第四步通过redis的客户端连接redis进原创 2021-11-14 17:13:32 · 912 阅读 · 0 评论
分享