您的位置:首页 > 数据库 > Redis

Java中简单使用Redis

2017-07-11 16:44 344 查看

Java中简单使用Redis

因无事这两天把Redis看了下,本人也是刚学,如果不对的地方,欢迎各位拍砖指点指点:

什么是Redis?

Redis的是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的网络应用程序。

Redis有三个主要特点,使其优越于其它键值数据存储系统 -

Redis的将其数据库完全保存在内存中,仅使用磁盘进行持久化。

与其它键值数据存储相比,Redis的有一组相对丰富的数据类型。

Redis的可以将数据复制到任意数量的从机中。

Java操作Redis:

/* redis 客户端封装 */

package com.wdb.common;

import org.apache.log4j.Logger;

import redis.clients.jedis.Jedis;

import redis.clients.jedis.JedisPool;

import redis.clients.jedis.JedisPoolConfig;

/* redis 客户端封装 */

public class RedisClient {

/**

* 日志记录

*/

private static final Logger logger =

Logger.getLogger(RedisClient.class.getName());

//Redis IP地址

private static String ADDR = “127.0.0.1”;

//Redis端口号

private static int PORT = 6379;

//访问密码

private static String password = “”;

private static int TIMEOUT = 10000;

/**

* redis 连接池

*/

private static JedisPool jedisPool;

private static Jedis jedis = null;

//静态测试
static{
jedisPool  = new JedisPool(new JedisPoolConfig(), ADDR, PORT, TIMEOUT);
}

public static synchronized Jedis resource() throws Exception{
try {
if (null != jedisPool)
jedis = jedisPool.getResource();
} catch (Exception e) {
e.printStackTrace();
throw e;
}
return jedis;
}

/**
* 获取连接
* @return
*/
public static Jedi
9024
s getResource() throws Exception{
try {
if (null == jedis)
resource();
} catch (Exception e) {
e.printStackTrace();
throw e;
}
return jedis;
}

/**
* 关闭连接
* @param jedis
*/
public void disconnect(Jedis jedis){
jedis.disconnect();
}

public void returnResource(Jedis jedis){
if (null == jedis)
return;
/**
* @deprecated jedis版本3后此方法隐藏
* try {
pool.returnResource(jedis);
} catch (Exception e) {

}*/
jedis.close();
}

public void setPool(JedisPool pool) {
this.jedisPool = pool;
}

public JedisPool getPool() {
return jedisPool;
}


}

测试:

package webdemo;

import org.junit.Test;

import redis.clients.jedis.Jedis;

import com.wdb.common.RedisClient;

public class TestRedis {

/**
* 测试连接
*/
@org.junit.Test
public void setup() {
try {
Jedis jedis = RedisClient.getResource();
if (null != jedis){
System.out.println("连接成功~~~~~~~~~~~~");
}
} catch (Exception e) {
e.printStackTrace();
}
}

/**
* 新增一个key/value
*/
@Test
public void set(){
try {
Jedis jedis = RedisClient.getResource();
if (null != jedis){
jedis.set("keys", "cs");
jedis.set("keys1", "cs");
}
} catch (Exception e) {
e.printStackTrace();
}
}

/**
* 根据key查找
*/
@Test
public void get(){
try {
Jedis jedis = RedisClient.getResource();
if (null != jedis){
System.out.println(jedis.get("keys"));
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 返回名称为key的string的value的子串
*/
@Test
public void substr(){
try {
Jedis jedis = RedisClient.getResource();
if (null != jedis){
System.out.println(jedis.substr("keys1",0,1000));
}
} catch (Exception e) {
e.printStackTrace();
}
}

/**
* 返回满足给定pattern的所有key
*/
@Test
public void keys(){
try {
Jedis jedis = RedisClient.getResource();
if (null != jedis){
System.out.println(jedis.keys("cs"));
}
} catch (Exception e) {
e.printStackTrace();
}
}

/**
* 返回当前数据库中key的数目
*/
@Test
public void dbsize(){
try {
Jedis jedis = RedisClient.getResource();
if (null != jedis){
System.out.println(jedis.dbSize().toString());
}
} catch (Exception e) {
e.printStackTrace();
}
}

/**
* 删除当前选择数据库中的所有key
*/
@Test
public void flushdb(){
try {
Jedis jedis = RedisClient.getResource();
if (null != jedis){
System.out.println(jedis.flushDB());
}
} catch (Exception e) {
e.printStackTrace();
}
}


}

常用命令:

参考地址:http://redis.readthedocs.io/en/2.6/

本人也是刚学,如果不对的地方,希望各位拍砖指点指点
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: