Jedis的基本使用入门1
Posted 好多个码农
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jedis的基本使用入门1相关的知识,希望对你有一定的参考价值。
7. Jedis的基本使用
7.1. jedis的介绍
-
jedis是官方首选的java客户端开发包
Redis不仅是使用命令来操作,现在基本上主流的语言都有客户端支持,比如java、C、C#、C++、php、Node.js、Go等。 在官方网站里列一些Java的客户端,有Jedis、Redisson、Jredis、JDBC-Redis、等其中官方推荐使用Jedis和Redisson。 在企业中用的最多的就是Jedis,Jedis同样也是托管在github上, 地址:https://github.com/xetorthio/jedis。 下载jedis解压后得到jar包如下:java操作redis数据库API(Jedis)
7.2. jedis的基本操作
7.2.1. jedis常用API
方法 | 解释 |
---|---|
new Jedis(host, port) | 创建jedis对象,参数host是redis服务器地址,参数port是redis服务端口 |
set(key,value) | 设置字符串类型的数据 |
get(key) | 获得字符串类型的数据 |
hset(key,field,value) | 设置哈希类型的数据 |
hget(key,field) | 获得哈希类型的数据 |
lpush(key,values) | 设置列表类型的数据 |
lpop(key) | 列表左面弹栈 |
rpop(key) | 列表右面弹栈 |
del(key) | 删除指定的key |
7.2.2. jedis的基本操作
导入开发包:
public void testJedisSingle(){ //1 设置ip地址和端口 Jedis jedis = new Jedis("localhost", 6379); //2 设置数据 jedis.set("name", "xxxx"); //3 获得数据 String name = jedis.get("name"); System.out.println(name); //4 释放资源 jedis.close(); }
7.3. jedis连接池的使用
7.3.1. jedis连接池的基本概念
jedis连接资源的创建与销毁是很消耗程序性能,所以jedis为我们提供了jedis的池化技术,
jedisPool在创建时初始化一些连接资源存储到连接池中,使用jedis连接资源时不需要创建,
而是从连接池中获取一个资源进行redis的操作,使用完毕后,不需要销毁该jedis连接资源,
而是将该资源归还给连接池,供其他请求使用。
7.3.2. jedisPool的基本使用
public void testJedisPool(){ //1 获得连接池配置对象,设置配置项 JedisPoolConfig config = new JedisPoolConfig(); // 1.1 最大连接数 config.setMaxTotal(30); // 1.2 最大空闲连接数 config.setMaxIdle(10); //2 获得连接池 JedisPool jedisPool = new JedisPool(config, "localhost", 6379); //3 获得核心对象 Jedis jedis = null; try { jedis = jedisPool.getResource(); //4 设置数据 jedis.set("name", "itcast"); //5 获得数据 String name = jedis.get("name"); System.out.println(name); } catch (Exception e) { e.printStackTrace(); } finally{ if(jedis != null){ jedis.close(); } // 虚拟机关闭时,释放pool资源 if(jedisPool != null){ jedisPool.close(); } } }
7.4. 案例-编写jedis连接池工具类
JedisUtils.java
package util; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; import java.util.ResourceBundle; /** * Jedis工具类 */ public final class JedisUtil { private JedisUtil(){} private static JedisPool jedilPool; private static int maxtotal; private static int maxwaitmillis; private static String host; private static int port;; /** * 读取jedis.properties配置文件 */ static{ ResourceBundle rb = ResourceBundle.getBundle("jedis"); maxtotal = Integer.parseInt(rb.getString("maxtotal")); maxwaitmillis = Integer.parseInt(rb.getString("maxwaitmillis")); host = rb.getString("host"); port = Integer.parseInt(rb.getString("port")); } /** * 创建连接池 */ static{ JedisPoolConfig jedisPoolConfig = new JedisPoolConfig(); jedisPoolConfig.setMaxTotal(maxtotal); jedisPoolConfig.setMaxWaitMillis(maxwaitmillis); jedilPool = new JedisPool(jedisPoolConfig,host,port); } /** * 获取Jedis */ public static Jedis getJedis(){ return jedilPool.getResource(); } /** * 关闭Jedis */ public static void close(Jedis jedis){ if(jedis!=null){ jedis.close(); } } }
jedis.properties(src目录下配置文件,编写配置文件)
maxtotal=100 maxwaitmillis=3000 host=127.0.0.1 port=6379
如何快速读取properties配置文件信息
使用jdk提供 ResourceBundle加载 通过getBundle("文件名") 通过 getString("key")获取目标数据
src下添加Properties配置文件
内容:
username=lisi password=123 url=http://xxx driverclass=com.mysql.jdbc.Driver
加载代码实现 : ResourceBundle.java
使用说明
package cn.joesion.jedis.demo; import java.util.ResourceBundle; public class PropertiesDemo { // java 专属类 ResourceBundle 对象 jdk 提供 public static void main(String[] args) { // getBundle源码查询 src路路径下的properties文件 传递文件名默认 .properties 所有不需要写扩展名 String s = ResourceBundle.getBundle("db").getString("driverclass"); String url = ResourceBundle.getBundle("db").getString("url"); String aa = ResourceBundle.getBundle("db").getString("username"); String bb = ResourceBundle.getBundle("db").getString("password"); System.out.println(s); System.out.println(url); System.out.println(aa); System.out.println(bb); } }
以上是关于Jedis的基本使用入门1的主要内容,如果未能解决你的问题,请参考以下文章