redis入门到精通系列(一)】的更多相关文章

(一)前言 如果不把数据库和后端语言联系起来,就起不到数据库应该要起到的作用.Java语言通过JDBC操作mysql,用Jedis操作redis.当然了,java操作redis的方式不止jedis一种,现在我们主要使用Jedis来操作redis. (二)第一个jedis项目 2.1 搭建项目 首先搭建一个空的maven项目,在pom.xml中导入redis的依赖,我同时还导入了junit的依赖用于测试,完整代码文末自取. <dependencies> <dependency> &l…
在前面一篇博客中我们已经学完了redis的五种数据类型操作,回顾一下,五种操作类型分别为:字符串类型(string).列表类型(list).散列类型(hash).集合类型(set).有序集合类型(sorted_set).学完基础语法操作后下一步就是通过几个案例来实践操作一下redis.在这里不会采用任何其他语言,单纯使用redis进行模拟操作. redis的基础操作看这一篇:redis入门到精通系列(一):入门redis看这一篇就够了 (一)实例一:请求调用次数的限制 应用场景:我们都知道服务器…
五种数据类型都用到了key,key本身是一种字符串,通过key可以获取redis中保存的对象.这一篇博客就将介绍key的通用操作. (一)key基本操作 删除key del key key是否存在 exists key 获取key的类型 type key (二)key扩展操作 时效性: 为指定的key设置有效期 expire key seconds pexpire key milliseconds 获取key的有效时间 ttl key(返回-1表示存在但是没有设置有效期,返回-2表示不存在) p…
(一)为什么要用Nosql 如果你是计算机本科学生 ,那么一定使用过关系型数据库mysql.在请求量小的情况下,使用mysql不会有任何问题,但是一旦同时有成千上万个请求同时来访问系统时,就会出现卡顿甚至系统崩溃的情况.最典型的例子就是早期的12306购票网站,一旦到了购票高峰期,12306肯定崩溃.造成这个原因的罪魁祸首就是关系型数据库. 关系型数据库存在两个问题 1.性能:磁盘IO性能低下 2.扩展性:数据关系复杂,扩展性差,不利于大规模集群 为了解决这两个问题,非关系型数据库出现了,非关系…
(一)哨兵概述 前面我们讲了redis的主从复制,为了实现高可用,会选择一台服务器作为master,多台服务器作为slave.现在有这样一种情况,master宕机了,这时系统会选择一台slave作为master,然后把宕机的master下线,再通知所有slave新的master是谁.这里就产生了一个问题,master是否宕机.选择哪台slave作为master都是谁来决定的? 在主从复制中由哨兵(sentinel)来完成这些操作,哨兵是一个分布式系统,用于对主从结构中的每台服务器进行监控,当出现…
(一)主从复制介绍 前面所讲的关于redis的操作都属于单机操作,单机操作虽然操作简单,但是处理能力有限,无法高可用.所谓高可用性,就是指当一台服务器宕机的时候,有备用的服务器能顶替上,在单机操作上这是无法实现的,因此就出现了主从复制. 我们把一台服务器看作是主服务器(master),把另外多台服务器看作是从服务器(slave),主从复制就是将master中的数据即时有效的复制到slave中. 主从复制特征: 一个master可以拥有多个slave,一个slave只对应于一个master mas…
高级数据类型和五种基本数据类型不同,并非新的数据结构.高级数据类型往往是用来解决一些业务场景. (一)BitMaps (1.1) BitMaps概述 在应用场景中,有一些数据只有两个属性,比如是否是学生,是否是党员等等,对于这些数据,最节约内存的方式就是用bit去记录,以是否是学生为例,1代表是学生,0代表不是学生.那么1000110就代表7个人中3个是学生,这就是BitMaps的存储需求. Bitmaps是一个可以对位进行操作的字符串,我们可以把Bitmaps想象成是一串二进制数字,每个位置只…
(一)事务的概念 谈到数据库的高级应用,不可避免会谈到事务.熟悉mysql的朋友们对事务肯定不陌生,简单来讲事务就是控制一个数据库操作序列要么全部执行要么全部不执行.今天我们就来了解redis中的事务是如何执行和使用的. (二)redis事务的操作 在mysql中,事务的执行通过以下三步: begin 开启事务 commit 提交事务 rollback 回滚操作 而在redis中,事务的执行也主要有三步 multi 开启事务 设定事务的开启位置,后续的所有指令均加入到该事务中 exec 执行事务…
(一)持久化的概述 持久化顾名思义就是将存储在内存的数据转存到硬盘中.在生活中使用word等应用的时候,如果突然遇到断电的情况,理论上数据应该是都不见的,因为没有保存的word内容都存放在内存里,断电后就会清空,但是重新开启电脑后会发现有一个~$xx.docx的文件,虽然不一定保存所有数据,但是会将大部分数据保存下来,这种"自动备份"这就是持久化的一种实际案例. (二)redis持久化 redis中的持久化有两种形式,一种是文件快照(类似于把文件拍了张照片保存下来),一种是过程日志(把…
1.  Provisioning Services 产品概述 Provisioning Services (简称PVS)采用了一种与传统映像解决方案截然不同的方法,从根本上改变了硬件与依托硬件而运行的软件之间的关系.Provisioning Services 通过流技术推送单个共享磁盘映像(虚拟磁盘),而非将映像复制到各台计算机中,使组织能够减少所管理的磁盘映像数目,即使计算机数目持续增加也不会对此产生影响,这种方式兼具集中式管理的效率以及分布式处理的优势. 1.1  下图显示了基本 Provi…