Redis
文章平均质量分 85
Redis相关的学习及使用记录
洛阳桥边
每天进步一点点。
展开
-
【redis教程】17、使用Redis做分布式锁
问题场景多线程中对数据进行读、改、存这三个操作,不是原子操作,会出问题。比如A用户改了一个数据还没有存,B用户就去读取了这个数据。对于这种问题,可以使用分布式锁来限制程序的并发执行。分布式锁分布式锁的思路就和上厕所一样,有人(线程)先占位了,后来者就会放弃或者等待。使用setnx进行占位setnx命令作用是如果不存在就set,可以使用setnx来进行占位。任务执行完成后使用del释放位子。根据上面思路写成java代码如下:import redis.clients.jedis.Jedis;原创 2020-06-10 02:10:14 · 234 阅读 · 0 评论 -
【redis教程】16、搭建redis集群
集群 就是使用网络将若干台计算机联通起来,并提供统一的管理方式,使其对外呈现单机的服务效果。集群的作用:集群(cluster)的搭建这一节我主要记录如何搭建一个redis的集群,集群与哨兵模式不同,哨兵模式是一个master多个slave外加多个哨兵。集群模式是多个master和多个slave。下面我们来搭建redis集群。...原创 2020-02-19 09:34:21 · 220 阅读 · 0 评论 -
【redis教程】15、使用jedis连接哨兵模式下的redis
在上一节我介绍了如何搭建redis哨兵模式,那么这一节我接着介绍使用jedis来连接操作哨兵模式下的redis。原创 2020-02-17 11:28:49 · 2667 阅读 · 0 评论 -
【redis教程】14、redis哨兵的构建及工作原理
哨兵(sentinel) 是一个分布式系统,用于对主从结构中的每台服务器进行监控,当出现故障时通过投票机制选择新的master并将所有slave接连到新的master上。注意:哨兵也是一台服务器,只不过不提供数据服务,通常哨兵配置数量为单数。一、哨兵结构构建哨兵服务器配置sentinel monitor mymaster 127.0.0.1 6379 2mymaster 是自己起的名字,...原创 2020-02-16 20:11:12 · 252 阅读 · 0 评论 -
【redis教程】13、redis的主从复制
互联网的三高架构(高并发、高性能、高可用)。下面说一下高可用,比如说一年之中服务器宕机了1天,那么高可用就是(365-1)/ 365= 99.73%,注意单位要一致,一般到秒一级。业界可用性目标5个9,即99.999%,服务器年宕机时长低于315秒,约5.25分钟。单机redis的风险与问题机器故障,数据丢失容量瓶颈,内存不足为了避免单机redis服务器故障,准备多台机器,同步保存多个...原创 2020-02-16 10:32:40 · 228 阅读 · 0 评论 -
【redis教程】12、redis中过期数据的删除策略
redis是一种内存级的数据,所有数据均放在内存中,内存中的数据可以通过ttl指令获取其状态,xx:具有时效性的数据-1:永久有效的数据-2:已经过期的数据 或 被删除的数据 或 未定义的数据对于过期的数据要redis根据会删除策略进行删除。删除策略有:定时删除惰性删除定期删除一、定时删除...原创 2020-02-14 17:53:00 · 280 阅读 · 0 评论 -
【redis教程】11、redis的事务、锁
redis事务 就是一个命令执行的队列,将一系列预定义的命令包装成一个整体(一个队列)。当执行时,一次性按照添加顺序一次执行,中间不会被打断或者干扰。...原创 2020-02-14 11:33:26 · 216 阅读 · 0 评论 -
【redis教程】10、redis的两种数据持久化方式之AOF
在上一小节 redis的两种数据持久化方式之RDB 中我介绍了RDB这种持久化方式,这一节我来介绍redis持久化的另一种方式------AOF。AOF是以独立日志的方式记录每次写的命令,重启时再重新执行AOF文件中命令达到恢复数据的目的。AOF主要解决了数据持久化的实时性,目前已经时redis的主流方式。一、AOF持久化数据的三种策略(appendfsync)always(每次)每个操...原创 2020-02-13 20:25:58 · 338 阅读 · 1 评论 -
【redis教程】9、redis的两种数据持久化方式之RDB
一、关于持久化持久化,利用永久性存储介质将数据进行保存,在特定的时间将保存的数据据进行恢复的工作机制成为持久化,持久化的目的是防止数据的意外丢失,确保数据安全性。...原创 2020-02-12 19:35:20 · 258 阅读 · 0 评论 -
【redis教程】8、linux下安装、配置redis
一、下载redis安装包下载redis安装包:可去官网下载,也可通过我提供的链接下载。网盘链接:redis4.0.14,提取码:05as通过ftp工具上传到服务器中。二、安装redis解压redis安装包进入安装包所在目录,使用tar -xvf解压:解压之后多出redis-4.0.14目录,安装redis进入redis-4.0.14目录,运行make install,这个过程...原创 2020-02-12 12:09:59 · 232 阅读 · 0 评论 -
【redis教程】7、使用 jedis 操作 reids 数据库
快速体验jedisJedis是Redis官方推荐的Java连接开发工具。创建maven工程,jedis坐标:<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0<...原创 2020-02-12 10:05:23 · 249 阅读 · 0 评论 -
【redis教程】6、redis支持的五种数据类型之sorted_set
sorted_set排序后的set,在set的存储结构上添加可排序字段。注意,score不用来存储数据,只用来排序。sorted_set 类型数据的基本操作添加数据zadd key score1 member1 [score2 member2]获取全部数据score从小到大:zrange key start stopscore从大到小:zrevrange key start ...原创 2020-02-11 17:54:58 · 677 阅读 · 0 评论 -
【redis教程】5、redis支持的五种数据类型之Set
redis支持的set数据类型与hash存储结构完全一致,不过set仅存储键,不存键值(nil),重要的特点就是存储的值是不重复的。set类型数据的基本操作添加数据sadd key member1 [member2]获取全部数据smembers key删除数据srem key member1 [member2]set类型数据的扩展操作随机获取集合中的数据srandmemb...原创 2020-02-11 16:35:42 · 294 阅读 · 0 评论 -
【redis教程】4、redis支持的五种数据类型之List
redis支持的list数据类型可以保存多个数据,底层使用双向链表存储结构实现。list 类型数据基本操作添加数据lpush key valuerpush key value获取数据lrange key start stopindex key indexllen key获取并移除数据lpop keyrpop keylist 类型数据扩展操作阻塞式获取blpop key...原创 2020-02-11 13:11:57 · 326 阅读 · 0 评论 -
【redis教程】3、redis支持的五种数据类型之Hash
redis支持的hash类型:新的存储需求,对一系列存储的数据进行编组,方便管理,典型应用存储对象信息需要的存储结构,一个存储空间保存多个键值对数据hash类型数据的基本操作添加数据hset key field value获取数据hget key fieldhgetall删除数据hdel key field添加多个hmset key f1 v1 f2 v2获取多...原创 2020-02-11 12:13:07 · 1376 阅读 · 0 评论 -
【redis教程】2、redis支持的五种数据类型之String
redis支持的五种数据类型:string类型string类型是最简单的存储类型,也是最常用的数据存储类型。一个存储空间保存一个数据,如果保存的内容是数字的话,可以当作数字用,但是仍是字符串。string类型的基本操作添加/修改数据set key valueget key修改:删除数据del key添加/获取多个数据mset k1 v1 k2 v2mget k1 k...原创 2020-02-10 18:09:47 · 553 阅读 · 0 评论 -
【redis教程】1、下载安装与服务启动
一、什么是Redisredis是用C语言开发的一个高性能键值对(key-value)数据库。主要特征:数据间没有必然的关联关系内部采用单线程机制进行工作(操作原子性比较强)高性能多数据类型支持持久化支持,可进行数据灾难恢复redis的应用:为热点数据加速查询,如热点商品、资讯等高访问量信息任务队列,如秒杀、购票排队等即时信息查询,如排行榜、网站访问统计、在线人数等时效...原创 2020-02-10 15:36:33 · 376 阅读 · 3 评论