
Redis
nch_ren
工作13年,7年银行、互联网金融系统架构设计与开发
展开
-
Redis持久化-rdb快照
在使用Redis的过程中,经常需要将内存中的数据保存到磁盘上进行持久化存储,Redis中提供了两种将内存数据持久化到磁盘上的方法,一种是rdb快照持久化,另一种是aof持久化。这两种持久化方式经常一同使用,以达到安全持久化的目的。本文主要介绍rdb持久化。rdb持久化的工作原理 在redis2.X版本之后,redis的rdb持久化是通过一个rdb dump进程完成的,这个进程每隔N秒或原创 2018-01-08 17:16:44 · 288 阅读 · 0 评论 -
Redis-集群搭建
在生产环境中,如果用到了Redis存储数据,那么就不可能让Redis运行在单台服务器上,而是需要搭建Redis主从复制集群。这样做的好处是:主从备份,防止主机宕机导致数据丢失。完成读写分离,分担主服务器的读写压力。任务分离,例如将备份和计算工作让从服务器完成。1.常见的Redis集群架构常见的Redis架构有两种,如下图:星型架构:线型架构:采用线型结构的好原创 2018-01-17 12:17:45 · 347 阅读 · 0 评论 -
Redis消息发布与订阅
在实际开发工作中,经常会遇到消息发布、订阅的应用场景,就好象是电台广播,只要你收听了某个频道,那么在这个频道上播放的内容你都能够听到,没有收听的自然也就听不到,很多开源工具都对这种设计模式有很好的支持,比如RabbitMQ中就有Pub/Sub消息队列。同样Redis也支持这种模式的消息发布,而且非常简单。在我的实际工作中,只用到过三个命令就能实现消息发布与订阅: 1.publish ch原创 2018-01-04 11:21:40 · 1594 阅读 · 0 评论 -
Redis的事物及锁操作
Redis中也提供了类似数据库中的事务和锁的概念,基本用法如下: 开启事务:multi 取消事务:discard 提交事务:exec 例如转账交易,用户张三需要将自己账户中的钱转出100元到李四的账户,具体的操作可以分为两步,第一步将张三账户中的钱减少100元,第二步将李四账户的钱增加100元。这个转账交易必须是一个原子操作,也就是说上述两步必须同时执行成功原创 2017-12-28 10:26:45 · 1024 阅读 · 0 评论 -
Redis-Set类型常用操作命令
集合(Set)的特点:无序性{1,2}={2,1};唯一性,结合里面的值是唯一的。1.sadd key value1 value2...value3创建并增加元素到集合sadd student john lucy当再次添加lucy时,会不成功,因为集合里面已经有lucy元素2.smembers key查看集合中的所有元素3.srem key value1 value原创 2017-12-19 15:11:28 · 466 阅读 · 0 评论 -
Redis-aof持久化
在Redis的rdb快照持久化,可以让我们每个几分钟将缓存中的数据以快照方式保存到磁盘上进行持久化,这种持久化方式有一个很大的弊端就是在两次持久化之间如果发生了故障,那么这几分钟的数据将会丢失。为了解决这个问题,在Redis2.4版本之后引入了aof持久化方式。并且官方建议我们让这两种持久化方式同时进行以保证持久化工作的效率与安全。1.注意事项 强烈建议在配置Redis的时候,一开始原创 2018-01-11 15:00:33 · 426 阅读 · 0 评论 -
Redis常用命令-String类型操作
1.set key value [ex 秒数]/[px 毫秒] [nx]/[xx]使用该命令可以设置一个key-value,ex或者px表示该key的生命周期,比如:ex:set name john ex 10 表示name这个key在10秒钟后会自动被销毁;px:set name joh px 6548 表示name这个key在6548毫秒后会被自动销毁;注意以上两个选项不能同时原创 2017-12-18 10:47:04 · 846 阅读 · 0 评论 -
Redis-Hash类型常用操作命令
1.hset key field value设置一个hash结构域2.hmset key field1 value1 [field2 value2 field3 value3 ...fieldn valuen]设置多个hash结构域3.hget key field查看某个域4.hmget key field1 field2...fieldn获取某几个域5.hgeta原创 2017-12-26 08:44:50 · 924 阅读 · 0 评论 -
Redis常用命令-通用key-value操作
1.keys pattern查询相应的key,pattern表示查询条件,可以实现模糊查询* 通配任意多个字符,keys * 表示返回当前redis数据库中所有的key。? 通配任意一个字符,比如已经有两个key,分别是aba或abb,如果要查询以ab开头的后面只有一个字符的key,就可以使用keys ab?命令查询。[] 通配[]内的某一个字符,比如说,我们只知道ke原创 2017-12-15 10:16:44 · 36788 阅读 · 0 评论 -
Redis下载与安装
1.下载Redis访问Redis的官方网站redis.io这里介绍了Redis是干什么的,它是一个开源的,使用BSD许可的,基于memory的key-value存储系统。提供字符串、哈希结构、链表、集合等数据类型,常用来提供数据结构服务。现在的最新稳定版本是4.0.6,这里建议大家下载稳定版本,尤其是在生产环境中,不要追求最新版本。点击右上角的Download菜单。会出现以原创 2017-12-14 17:11:21 · 964 阅读 · 0 评论 -
Redis-list类型常用操作命令
1.lpush key value在链表的左侧push一个值,当没有key这个链表时,创建这个链表。例如在user链表的左侧添加一个元素:lpush user admin2.rpush key value在链表的右侧push一个值,当没有key这个链表时,创建这个链表。例如在user链表的右侧添加一个元素rpush user dba3.lrange key start st原创 2017-12-20 10:40:50 · 368 阅读 · 0 评论