Java中简单使用Redis

xiaoxiao2021-02-28  64

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 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/ 本人也是刚学,如果不对的地方,希望各位拍砖指点指点

转载请注明原文地址: https://www.6miu.com/read-72298.html

最新回复(0)