使用Jedis
前言
借助Jedis可以在Java上操作Redis。
Jedis
到https://mvnrepository.com/去找jar包下载即可。
如果是maven项目:
<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
获取连接
Jedis jedis = new Jedis('localhost');
jedis.auth(password); // 如果设置了密码,就需要先执行AUTH命令,否则执行其他操作会报错
连接池
JedisPoo 类是Jedis的连接池,可以用 GenericObjectPoolConfig 类来设置连接池,这里我用了Spring。
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import javax.annotation.PostConstruct;
/**
* Created by fjh on 2017/6/15.
*/
@Component
public class JedisUtils {
private static JedisPool POOL;
private static volatile boolean flag = false;
@Value("${jedis.url:localhost}")
private String url;
@Value("${jedis.port:6379}")
private int port;
@Value("${jedis.timeout:1000}")
private int timeOut;
@Value("${jedis.auth}")
private String auth;
@Value("${jedis.pool.maxIdle:10}")
private int maxIdle;
@Value("${jedis.pool.maxTotal:100}")
private int maxTotal;
@Value("${jedis.pool.maxWaitMillis:10000}")
private long maxWaitMillis;
public static Jedis getResource() {
return POOL.getResource();
}
//带有`@PostConstruct`注解的方法会在属性注入之后执行
@PostConstruct
private void init() {
if (!flag) {
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxIdle(maxIdle);
config.setMaxTotal(maxTotal);
config.setMaxWaitMillis(maxWaitMillis);
POOL = new JedisPool(config, url, port, timeOut, auth);
flag = true;
}
}
}
调用代码:
Jedis jedis = null;
try {
jedis = JedisUtils.getResource();
System.out.println(jedis.keys("*"));
} catch (Exception e) {
e.printStackTrace();
} finally {
if (jedis != null)
jedis.close();
}
使用Jedis的更多相关文章
- Jedis的使用
Redis是常用的key-value存储服务器,Java使用Redis有很多方法,其中官方推荐的是Jedis. 使用Jedis,首先是下载jedis-x.x.x.jar文件并导入工程,然后运行Redi ...
- redis 学习笔记(7)-cluster 客户端(jedis)代码示例
上节学习了cluster的搭建及redis-cli终端下如何操作,但是更常用的场景是在程序代码里对cluster读写,这需要redis-client对cluster模式的支持,目前spring-dat ...
- jedis支持哨兵主从配置role为slave
jedis功能强大,但是不能像nodejs一样指定从slave中读数据,使数据量读写量较大时读写分离,减少redis压力. 我们可以利用jedis中的方法封装一个类似于此的方法. github地址: ...
- Spring + Jedis集成Redis(集群redis数据库)
前段时间说过单例redis数据库的方法,但是生成环境一般不会使用,基本上都是集群redis数据库,所以这里说说集群redis的代码. 1.pom.xml引入jar <!--Redis--> ...
- (转)java redis使用之利用jedis实现redis消息队列
应用场景 最近在公司做项目,需要对聊天内容进行存储,考虑到数据库查询的IO连接数高.连接频繁的因素,决定利用缓存做. 从网上了解到redis可以对所有的内容进行二进制的存储,而java是可以对所有对象 ...
- Jedis 使用范例
public class RedisUtil { Logger logger = LoggerFactory.getLogger(RedisUtil.class); private JedisPool ...
- 【Redis】:Jedis 使用
Redis 支持很多语言, 例如C#,RUBY,JAVA 等, Jedis是redis的java版本的客户端实现 一个简单的Jedis使用 依赖第三方包jedis-2.7.2.jar commons- ...
- 用Jedis连接Redis
jedis中的方法名,和Redis的命令几乎一样 1.jar包,作为测试只需要一个jar 2.代码 package com; import java.util.HashMap; import java ...
- 什么是Jedis?
Jedis 是 Redis 官方首选的 Java 客户端开发包. 实例方法: 1 import redis.clients.jedis.* 1 2 3 Jedis jedis = new Jedis( ...
- Java中使用Jedis操作Redis(转载)
整理 1.字符串 添加:set keyname value 查询:get keyname 拼接:append keyname value 删除:del keyname 添加多个: mset keyna ...
随机推荐
- 1.redis设计与实现--简单动态字符串
1.redis没有使用c语言的字符串表示,而是使用更加适合自己的SDS(simple dynamic string),简单动态字符串,结构如下: 2.sys与c字符串的对比: 3.总结: redis采 ...
- Ubuntu无法进入图形界面的解决办法
Ubuntu无法进入图形界面的解决办法 Ubuntu系统启动,输入用户密码后,屏幕显示彩色背景,但是始终不能进入图形界面. 如果你也遇到过这种情况,可以参照以下方法解决(在 ubuntu14.04 验 ...
- 成为优秀 Node.js 程序员的10个习惯
JavaScript出现近二十年了,但由于其有些问题不能解决,使得像Python和Ruby这一类的语言很吸引人,这些问题包括命令行接口.交互式开发环境.包的管理和没有一个有组织开源社区等.幸亏Node ...
- 微信小程序开发(一)准备开发环境
1.成为微信公众平台开发者 成为微信公众平台的开发者,是小程序开发的首要条件.只有成为微信公众平台的开发者,才可以使用公众平台的各种开发接口.如果你已经是开发者,则可以跳过本章. (1)进入微信公众平 ...
- 基本控件文档-UIView属性---iOS-Apple苹果官方文档翻译
本系列所有开发文档翻译链接地址:iOS7开发-Apple苹果iPhone开发Xcode官方文档翻译PDF下载地址 //转载请注明出处--本文永久链接:http://www.cnblogs.com/Ch ...
- Impala笔记之通用命令
help help命令用于查询其它命令的用法 [quickstart.cloudera:21000] > help select; Executes a SELECT... query, fet ...
- PHP 5 MySQLi 函数总结
连接数据库 mysqli_connect() 函数打开一个到 MySQL 服务器的新的连接. <?php $con=mysqli_connect("localhost",&q ...
- 千字短文解决工程师们关于SPI的迷糊!
串行外设接口 (SPI) 总线是一个工作在全双工模式下的同步串行数据链路.它可用于在单个主控制器和一个或多个从设备之间交换数据.其简单的实施方案只使用四条支持数据与控制的信号线(图 1): 图1:基本 ...
- URAL题解二
URAL题解二 URAL 1082 题目描述:输出程序的输入数据,使得程序输出"Beutiful Vasilisa" solution 一开始只看程序的核心部分,发现是求快排的比较 ...
- 清理oracle的用户中的日志垃圾以及修改sys用户的密码
清理oracle的用户中的日志垃圾1.进入:/opt/oracle/product/11g/network/admin目录2.注释掉listener.ora文件中的TRACE_LEVEL_LISTEN ...