
redis
文章平均质量分 73
liuhehe321
积跬步,足以至千里!
实践出真知!
展开
-
Redis内部数据结构详解(4)——ziplist
## Redis内部数据结构详解(4)——ziplisthttp://zhangtielei.com/posts/blog-redis-ziplist.html本文是《[Redis内部数据结构详解](http://zhangtielei.com/posts/blog-redis-dict.html)》系列的第四篇。在本文中,我们首先介绍一个新的Redis内部数据结构——ziplist,然后在文章后半部分我们会讨论一下在robj, dict和ziplist的基础上,Redis对外暴露的hash结构是怎原创 2021-03-31 09:40:19 · 102 阅读 · 0 评论 -
4-redis场景问题与性能优化
缓存穿透:缓存穿透 缓存穿透是指查询一个根本不存在的数据, 缓存层和存储层都不会命中, 通常出于容错的考虑, 如果从存储 层查不到数据则不写入缓存层。 缓存穿透将导致不存在的数据每次请求都要到存储层去查询, 失去了缓存保护后端存储的意义。 造成缓存穿透的基本原因有两个: 第一, 自身业务代码或者数据出现问题。 第二, 一些恶意攻击、 爬虫等造成大量空命中。缓存穿透问题解决方案:1、缓存空对象String get(String key) { // 从缓存中获取数据 String cach原创 2021-02-24 10:23:19 · 193 阅读 · 0 评论 -
redis 其中一个master节点宕机引发的思考
当master1宕机后,slave升主,如果在这个过程中客户端过来请求会发生redis.clients.jedis.exceptions.JedisClusterMaxRedirectionsException: Too many Cluster redirections的异常(这里会重试5次),当slave1升主后,会将slot槽的key推送到slave1中,当客户端再次操作key后,客户端使用...原创 2019-12-14 14:24:02 · 3263 阅读 · 0 评论 -
3-redis集群高级操作
视频课程https://www.bilibili.com/video/av57628808?t=2968将节点增加到redis集群中学会使用命令帮助行解决问题root@ubuntu-130:/opt/redis/7007# ./redis-cli --cluster helpCluster Manager Commands: create host1:p...原创 2019-10-03 16:54:21 · 616 阅读 · 1 评论 -
使用原生的jedis 手写redis分布式锁
/** * * 分布式锁需要考虑一下几个问题: * 1.业务进程挂死, 解决方案:设定key超时。一般10s * 2.业务抛出异常返回,没有机会释放锁, 解决方案:需要使用finally关键字,强制释放锁 * 3.如何高吞吐量,解决方案:需要使用while(true) 不短等待锁 * 4.如果业务执行15s,会出现超时10s释放锁,线程2重新获得锁,执行事务业务操作,此时出现...原创 2020-07-26 21:27:41 · 249 阅读 · 0 评论 -
0-redis中的基础数据结构于核心原理以及常见问题
Redis Set 集合的实例详解Redis的Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。redis中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。实例? 1 2 3 4...原创 2018-10-13 14:14:24 · 176 阅读 · 0 评论 -
redis操作类jedis常用方法
前段时间给大家介绍了如何在Linux环境下部署和操作redis,今天将为大家介绍如何在我们的Java代码中操作redis。接下来按部就班:一、首先,把 jedis-2.1.0.jar(jedis基础包)导入到 java项目里,下面给大家提供一个私人下载链接:http://download.youkuaiyun.com/download/zhangguanghui002/101537...原创 2018-10-13 14:11:27 · 350 阅读 · 0 评论 -
redis client连接、关闭、启动、查看redis状态
1.Redis目录cd /opt/redis/sbin2.连接 redis./redis-cli -h 127.0.0.1 -p 6380 -a redis (没有开启大网监听,默认只能在127.0.0.1监听)3.关闭redis./redis-cli -h 127.0.0.1 -p 6380 shutdown4.启动redis./redis-server ../con...原创 2018-10-13 14:18:59 · 9489 阅读 · 0 评论 -
Ubuntu16.04安装Redis
前言Redis是常用基于内存的Key-Value数据库,比Memcache更先进,支持多种数据结构,高效,快速。用Redis可以很轻松解决高并发的数据访问问题;作为实时监控信号处理也非常不错。环境Ubuntu 16.04安装Redis服务器端~ sudo apt-get install redis-server安装完成后,Redis服务器会自动启动,我们检查Redis服务...转载 2019-01-06 19:46:51 · 116 阅读 · 0 评论 -
Redis(九):使用RedisTemplate访问Redis数据结构API大全
详细查看博客https://www.cnblogs.com/shamo89/p/8622152.html转载 2019-02-25 14:57:04 · 151 阅读 · 0 评论 -
分布式架构操作数据库 使用redis锁解决并发操作问题
redis setnx getsethttp://www.redis.cn/commands/getset.html大家都知道,数据库并行操作setnx 使用将key设置值为value,如果key不存在,这种情况下等同SET命令。 当key存在时,什么也不做。SETNX是”SETifNot eXists”的简写。返回值Integer reply, 特定值:1如果k...转载 2019-04-25 08:21:17 · 312 阅读 · 0 评论 -
redis多数据库使用+事务
127.0.0.1:6379> keys *1) "test"选择数据库127.0.0.1:6379> SELECT 1OK127.0.0.1:6379[1]> keys *(empty list or set)127.0.0.1:6379[1]> SELECT 0OK将test key一定到数据库1127.0.0.1:6379> move te...原创 2019-05-24 22:17:45 · 389 阅读 · 0 评论 -
reds操作命令详解
key pattern 查询相应的key(1)redis允许模糊查询key 有3个通配符 *、?、[](2)randomkey:返回随机key(3)type key:返回key存储的类型(4)exists key:判断某个key是否存在(5)del key:删除key(6)rename key newkey:改名(7)renamenx key newkey:如果ne...转载 2018-10-13 14:19:40 · 595 阅读 · 0 评论