因无事这两天把Redis看了下,本人也是刚学,如果不对的地方,欢迎各位拍砖指点指点:
Redis的是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的网络应用程序。
Redis有三个主要特点,使其优越于其它键值数据存储系统 -
Redis的将其数据库完全保存在内存中,仅使用磁盘进行持久化。 与其它键值数据存储相比,Redis的有一组相对丰富的数据类型。 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 Jedis 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/ 本人也是刚学,如果不对的地方,希望各位拍砖指点指点
