(一)前言 如果不把数据库和后端语言联系起来,就起不到数据库应该要起到的作用.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看这一篇就够了 (一)实例一:请求调用次数的限制 应用场景:我们都知道服务器…
(一)为什么要用Nosql 如果你是计算机本科学生 ,那么一定使用过关系型数据库mysql.在请求量小的情况下,使用mysql不会有任何问题,但是一旦同时有成千上万个请求同时来访问系统时,就会出现卡顿甚至系统崩溃的情况.最典型的例子就是早期的12306购票网站,一旦到了购票高峰期,12306肯定崩溃.造成这个原因的罪魁祸首就是关系型数据库. 关系型数据库存在两个问题 1.性能:磁盘IO性能低下 2.扩展性:数据关系复杂,扩展性差,不利于大规模集群 为了解决这两个问题,非关系型数据库出现了,非关系…
(一)哨兵概述 前面我们讲了redis的主从复制,为了实现高可用,会选择一台服务器作为master,多台服务器作为slave.现在有这样一种情况,master宕机了,这时系统会选择一台slave作为master,然后把宕机的master下线,再通知所有slave新的master是谁.这里就产生了一个问题,master是否宕机.选择哪台slave作为master都是谁来决定的? 在主从复制中由哨兵(sentinel)来完成这些操作,哨兵是一个分布式系统,用于对主从结构中的每台服务器进行监控,当出现…
(一)持久化的概述 持久化顾名思义就是将存储在内存的数据转存到硬盘中.在生活中使用word等应用的时候,如果突然遇到断电的情况,理论上数据应该是都不见的,因为没有保存的word内容都存放在内存里,断电后就会清空,但是重新开启电脑后会发现有一个~$xx.docx的文件,虽然不一定保存所有数据,但是会将大部分数据保存下来,这种"自动备份"这就是持久化的一种实际案例. (二)redis持久化 redis中的持久化有两种形式,一种是文件快照(类似于把文件拍了张照片保存下来),一种是过程日志(把…
Redis有什么命令,Jedis就有什么方法. 客户端无法连接时,需要考虑防火墙配置,比如6379端口是否开放,也可以直接关闭防火墙. Jedis连接池: import org.junit.Test; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; public class Demo1 { /** * 单实例连接r…
一.介绍       redis学了有一段时间了,以前都是看视频,看教程,很少看官方的东西.现在redis的东西要看的都差不多看完了.网上的东西也不多了.剩下来就看看官网的东西吧,一遍翻译,一遍测试.不错的使用体验,今天开始就写一下redis的客户端的使用,也就是redis-cli工具类,这个文件的内容真不少,一次写完有点吃力.分多次写吧.二.使用详解    1.redis-cli,Redis命令行界面           redis-cli是Redis命令行界面,它是一个允许向Redis发送命…
转载来源:http://www.cnblogs.com/PatrickLiu/p/8508975.html 一.介绍 redis学了有一段时间了,以前都是看视频,看教程,很少看官方的东西.现在redis的东西要看的都差不多看完了.网上的东西也不多了.剩下来就看看官网的东西吧,一遍翻译,一遍测试.不错的使用体验,今天开始就写一下redis的客户端的使用,也就是redis-cli工具类,这个文件的内容真不少,一次写完有点吃力.分多次写吧. 二.使用详解  1.redis-cli,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…
(一)事务的概念 谈到数据库的高级应用,不可避免会谈到事务.熟悉mysql的朋友们对事务肯定不陌生,简单来讲事务就是控制一个数据库操作序列要么全部执行要么全部不执行.今天我们就来了解redis中的事务是如何执行和使用的. (二)redis事务的操作 在mysql中,事务的执行通过以下三步: begin 开启事务 commit 提交事务 rollback 回滚操作 而在redis中,事务的执行也主要有三步 multi 开启事务 设定事务的开启位置,后续的所有指令均加入到该事务中 exec 执行事务…