Redis笔记(使用Jedis)
来源:互联网 发布:开票软件金税盘版官网 编辑:程序博客网 时间:2024/06/05 02:48
一、首先需要了解的是为什么需要使用NoSQL,如下三点需求:
1、高并发读写;
2、海量数据的高效率存储和访问;
3、高扩展性和高可用性。
如今比较主流的NoSQL产品有:Redis(键值存储数据库)、mongoDB(文档型数据库)、HBase(列存储数据库)、InfoGrid(图形数据库)等,我先选择Redis来记录,之后会带来mongoDB的学习分享。
二、Redis概述
1、 Redis是Remote Dictionary Server(远程字典服务器)的缩写,它以字典结构存储数据,并允许其他应用通过TCP协议读写字典中的内容;
2、 Redis使用C语言开发,代码量只有3万多行,而且是开源的;
3、 高性能键值对数据库,支持的键值数据类型:字符串、列表、有序集合、散列、集合;
4、应用场景:缓存、任务队列、应用排行榜、网站访问统计、数据过期处理、分布式集群架构中的session处理;
5、Redis数据库中所有的数据都存储在内存中,由于内存的读写速度快于硬盘,因此Redis在性能上比其他基于硬盘存储的数据库有非常明显的优势,在一台普通的笔记本电脑上,Redis可以在一秒内读写超过10万个键值;
6、 Redis提供了对持久化的支持,即可以将内存中的数据异步写入到硬盘中,同时不影响继续提供服务。
三、Redis安装
本文只介绍Windows系统下的安装,Redis下载地址。
Redis 支持 32 位和 64 位。这个需要根据你系统的实际情况选择,下载 Redis-x64-xxx.zip压缩包到 C 盘,解压后,将文件夹重新命名为 redis。
打开一个 cmd 窗口 ,切换目录到 C:\redis 运行 redis-server.exe redis.windows.conf 。如果想方便的话,可以把 redis 的路径加到系统的环境变量里,这样就省得再输路径了,后面的那个 redis.windows.conf 可以省略,如果省略,会启用默认的。输入之后,会显示如下界面:
完成上述操作后再另启一个cmd窗口,原来的不要关闭,不然就无法访问服务端了。
切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379 。
设置键值对 set myKey test
取出键值对 get myKey
四、Jedis
Jedis是Redis官方首选的java客户端开发包,GitHub。
码项目前,需下载如下两个jar包:
接下来建java project做个测试:
1、 引入jar包,先写个单实例测试:
package com.zsh.jedis;import org.junit.Test;import redis.clients.jedis.Jedis;/** * Jedis测试 * * @author zsh * */public class JedisDemo1 { @Test /** * 单实例测试 */ public void demo1() { // 1.设置IP地址和端口 Jedis jedis = new Jedis("127.0.0.1", 6379); // 2.保存数据 jedis.set("name", "zhushihui"); // 3.获取数据 String value = jedis.get("name"); System.out.println(value); // 4.释放资源 jedis.close(); }}
2、通过连接池方式获得连接测试:
package com.zsh.jedis;import org.junit.Test;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPoolConfig;/** * Jedis测试 * * @author zsh * */public class JedisDemo1 { @Test /** * 连接池方式连接 */ public void demo2() { // 获得连接池的配置对象: JedisPoolConfig config = new JedisPoolConfig(); // 设置最大连接数 config.setMaxTotal(30); // 设置最大空闲连接数 config.setMaxIdle(10); // 获得连接池 JedisPool jedisPool = new JedisPool(config, "127.0.0.1", 6379); // 获得核心对象 Jedis jedis = null; try { // 通过连接池获得连接 jedis = jedisPool.getResource(); // 设置数据 jedis.set("name", "zsh"); // 获取数据 String value = jedis.get("name"); System.out.println(value); } catch (Exception e) { // TODO: handle exception } finally { // 释放资源 if (jedis != null) jedis.close(); if (jedisPool != null) jedisPool.close(); } }}
- Redis笔记(使用Jedis)
- 使用Jedis操作Redis(笔记)
- Redis学习笔记(十二)Redis实战之Redis + Jedis
- Redis 客户端Jedis使用(一)
- Jedis学习使用(java操作redis)
- Redis 客户端Jedis使用(一)
- Redis 客户端Jedis使用(一)
- Jedis对于Redis的使用(一)
- Redis 学习(四)Jedis使用
- redis JAVA客户端(Jedis)测试使用
- Redis Jedis的使用(上)
- Redis Jedis的使用(下)
- redis jedis使用总结
- redis jedis使用总结
- redis jredis jedis 使用
- 使用Jedis操作redis
- Jedis(Redis)使用示例
- 使用Jedis操作Redis
- Linux下的段错误(Segmentation fault)产生的原因及调试方法
- 初识sqlite
- 【Redis缓存机制】2.Redis安装和简单使用
- Centos7下安装与卸载Jdk1.8
- 构造简单的二级排序比较器
- Redis笔记(使用Jedis)
- ListView基本使用
- C#梳理【BitArray点阵列】
- IOS逆向--performSelector动态调用
- Java-json系列(一):用GSON解析Json格式数据
- Git-基本结构(工作区和暂存区-笔记)
- 基于python的验证码识别
- CXF命令
- 使用ffmpeg将mp4转为ts(代码实现)