redis
redis数据库学习
来一只烤虾
没有人天生神力。
展开
-
redis位图(Bitmap)
简介位图实质是对字符串类型进行更细致的划分,在比特位上进行操作操作,字符串的最小单位为字符,而位图的最小单位是比特。位图的存储是按照操作系统从低位到高位存储(从右向左)语法命令 1. setbit key_name offset value--对指定的偏移量的比特位进行设值; --offset为偏移量,以0为基准。也可以把offset看做操作位的下标(以下相同); 2. getbit key_name offset --获取指定的偏移量的比特位的值; 3. bitcount key_na原创 2020-08-17 14:58:07 · 267 阅读 · 0 评论 -
redis开发中常见问题以及解决方案
穿透生成原因缓存穿透是在指查询一定不不存在的数据时,由于当缓存不命中时需要从数据库中查询,查询不到数据则不写入缓存,这将导致每次请求这个不存在的数据时都要去数据库中查询解决方案 1. 在持久层查询不到数据就向redis中缓存空结果,查询时先判断是否exists(key),如果有直接返回空,如果没有则查询后返回 2. 当insert时需要清除查询的key,否则即便DB中有值也查询不到(也可以为空缓存设置过期时间) ---在传参的URL中进行加密雪崩缓存雪崩:缓存大量失效时,引发大量原创 2020-07-10 11:41:48 · 645 阅读 · 0 评论 -
redis缓存与数据库一致性
实时同步对强制性要求比较高的,应采用实时同步方案,先查询缓存若查询不到再去DB中查询,然后保存到缓存;更新缓存时,先更新数据库,再将缓存的设置过期(建议不要去更新缓存内容,直接设置缓存过期)。 1. @Cacheable:查询时使用,注意Long类型需要转化为String类型,否则会抛弃异常 2. @CachePut:更新时使用,一定回车从DB中查询数据 3. @CacheEvict:删除时使用 4. @Caching:组合用法异步队列(流量削峰)对于并发程度高的,可采用异步队列额方式原创 2020-07-10 10:44:42 · 161 阅读 · 0 评论 -
redis持久化策略
简介 1. redis持久化存储支持两种方式:RDB和AOF;RDB一定时间存储文件,AOF默认每秒去存储历史命令 2. redis需要经常将内存中的数据同步到银盘来保证持久化RDB 1. rdb:redis database 2. 核心函数:rdbSave(生成rdb文件),rdbLoad(从rdb文件中加载进内存) 3.redis 默认的持久化机制 3. 快照是默认的持久化方式,默认文件名为dump.rdb --快照保存数据快,还原数据快,适用于灾难备份 --小内存机器不适原创 2020-07-10 09:54:01 · 175 阅读 · 0 评论 -
redis事务及常用命令
简介redis事务可以一次执行多个命令(一组命令)--命令按串行化执行,执行中不会被其他命令插入,不许加塞) 1. 批量操作在发送exec命令前被放入队列缓存 2. 收到exec执行命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行 3. 在事务执行过程中,其他客户端提交的命令请求不会插入到事务执行命令序列中 4. 不支持事务回滚常用命令 1. discard--取消事务,放弃执行事务快块内的所有命令 2. exec--执行所有事务块内的命令 3. multi--标记一原创 2020-07-10 09:16:12 · 1389 阅读 · 0 评论 -
redis发布与订阅
简介redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息redis客户端可以订阅任意数量的频道常用命令订阅: 1. subscribe channel[channel1 channel2..]--订阅给定的一个或多个频道的信息 2. psubscribe pattern[pattern1 pattern2..]--订阅一个或多个符合给定模式的频道发布: 1. publish channel message--将消息发送到指定频道原创 2020-07-10 07:37:08 · 144 阅读 · 0 评论 -
redis的数据类型以及常用命令
redis的数据类型原创 2020-07-06 16:34:41 · 201 阅读 · 0 评论 -
Springboot整合lettuce并优化代码
优化前添加pom依赖<!-- 默认是lettuce客户端--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency><!-原创 2020-07-06 07:13:45 · 2035 阅读 · 0 评论 -
springboot整合jedis
添加依赖 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> </dependency>修改yml文件(redis中没设置密码)server: port: 8080spring: redis: port: 6379# password: host: 192.168.214.12原创 2020-07-04 21:01:43 · 301 阅读 · 0 评论 -
redis客户端介绍与对比
Jedis Redission lettuce原创 2020-07-04 17:35:05 · 387 阅读 · 0 评论 -
redis中key命令以及应用场景
key命令keys * :返回满足的所有建,可以进行模糊匹配;exists key :判断是否存在指定的key,存在返回1,不存在返回0;expire key second:设置key的过期时间,单位为秒;---到时间redis会自动清除del key:删除指定的key;pexpire key milliseconds:修改key的过期时间;---时间单位为毫秒ttl key:返回key的剩余时间;当key没有设置生存时间时,返回-1;当key不存在时返回-2;persist key:取消过期原创 2020-07-04 00:04:14 · 203 阅读 · 0 评论 -
redis启动与关闭
一. 非正常关闭(断电。强制关闭)-----非正常关闭数据容易丢失kill强制关闭:kill -9 PID二. 正常关闭-----正常关闭数据将会保存在客户端使用shutdown命令关闭服务端原创 2020-07-03 22:50:35 · 374 阅读 · 0 评论 -
redis内存管理与维护
redis内存维护原创 2020-07-03 21:57:01 · 143 阅读 · 0 评论