redis 在java中的使用

1、首先下载jar包放到你的工程中

2、练习

package com.jianyuan.redisTest;

import java.util.Iterator;
import java.util.List;
import java.util.Set;

import redis.clients.jedis.Jedis;

public class RedisTest {

public static void main(String[] args) {
//连接本地的Redis服务
Jedis jedis = new Jedis("127.0.0.1",6379);
//权限认证
jedis.auth("wenhongyu66");
jedis.select(0);
System.out.println("连接成功");
//查看服务是否运行
System.out.println(jedis.ping());

//设置 redis 字符串数据
jedis.set("runoobkey", "www.runoob.com");
// 获取存储的数据并输出
System.out.println("redis 存储的字符串为: "+ jedis.get("runoobkey"));

//存储数据到列表中
jedis.lpush("site-list", "Runoob");
jedis.lpush("site-list", "Google");
jedis.lpush("site-list", "Taobao");
System.out.println(jedis.llen("site-list"));
// 获取存储的数据并输出
List<String> list = jedis.lrange("site-list", 0 ,jedis.llen("site-list"));
for(int i=0; i<list.size(); i++) {
System.out.println("列表项为: "+list.get(i));
}

// 获取数据并输出
Set<String> keys = jedis.keys("*");
Iterator<String> it=keys.iterator() ;
while(it.hasNext()){
String key = it.next();
System.out.println(key);
}

}

}

总结:自己可以封装一些工具类方便使用,包括连接池的配置,jedis参数的配置等。

private static JedisPool jedisPool = null;

private static Jedis jedis;

static {

  jedis = getJedisPool().getResource();

}

/**

 * 构建redis连接池

 */

public static JedisPool getJedisPool() {

  if (jedisPool == null) {

    JedisPoolConfig config = new JedisPoolConfig();

    config.setMaxTotal(1024); // 可用连接实例的最大数目,如果赋值为-1,表示不限制.

    config.setMaxIdle(5); // 控制一个Pool最多有多少个状态为idle(空闲的)jedis实例,默认值也是8

    config.setMaxWaitMillis(1000 * 100); // 等待可用连接的最大时间,单位毫秒,默认值为-1,表示永不超时/如果超过等待时间,则直接抛出异常

    config.setTestOnBorrow(true); // 在borrow一个jedis实例时,是否提前进行validate操作,如果为true,则得到的jedis实例均是可用的

    jedisPool = new JedisPool(config, "127.0.0.1", 6379);

  }

  return jedisPool;

}

/**

 * 释放jedis资源

 */

public static void returnResource(Jedis jedis) {

  if (jedis != null) {

    jedis.close();

  }

}

public static String get(String key) {

  String value = null;

  Jedis jedis = null;

  try {

    JedisPool pool = getJedisPool();

    jedis = pool.getResource();

    value = jedis.get(key);

  }

  catch (Exception e) {

    returnResource(jedis);

    e.printStackTrace();

  }

  finally {

    returnResource(jedis);

  }

  return value;

}

RedisTemplate封装了从JedisPool中取jedis以及返回池中

public class RedisTemplate {

  private JedisPool jedisPool;

  public RedisTemplate(JedisPool jedisPool) {

    this.jedisPool = jedisPool;

  }

  public <T> T execute(RedisCallback<T> callback) {

    Jedis jedis = jedisPool.getResource();

    try {

      return callback.handle(jedis);

    }

    catch (Exception e) {

      // throw your exception

      throw e;

    }

    finally {

      returnResource(jedis);

    }

  }

  private void returnResource(Jedis jedis) {

    if (jedis != null) {

      jedis.close();

    }

  }

}

public interface RedisCallback<T> {

  public T handle(Jedis jedis);

}

时间: 2024-10-13 12:24:43

redis 在java中的使用的相关文章

Redis在java中的使用

1.Redis Windows安装 下载链接:https://github.com/dmajkic/redis/downloads 根据自己的需要选择32位,64位的redis,然后存到一个指定的目录,比如:F:\Redis ① 打开cmd ,进入F:\Redis ② 执行redis-server.exe redis.conf ③ 另外重新开一个cmd,执行redis-cli.exe -h 127.0.0.1 -p 6379 ④ 测试:set mykey li get mykey 可以得到"li

Redis 在 Java 中的使用

转:http://blog.csdn.net/jiangtao_st/article/details/8256610 一.下载jar包 https://github.com/xetorthio/jedis/downloads 学习参考内容 : http://blog.nosqlfan.com/html/3537.html 二.在spring 中的配置 <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisP

Redis学习记录之Java中的初步使用

1.关于Redis redis下载地址:<span style="font-family: Arial, Helvetica, sans-serif;">http://download.csdn.net/detail/he90227/8569855</span> Redis是什么?两句话可以做下概括: 1. 是一个完全开源免费的key-value内存数据库 2. 通常被认为是一个数据结构服务器,主要是因为其有着丰富的数据结构 strings.map. list.

在java中使用redis

在java中使用redis很简单,只需要添加jedist.jar,通过它的api就可以了.而且,api和redis的语法几乎完全相同.以下简单的测试: 参考:http://www.runoob.com/redis/redis-java.html 1 package com.test.redis; 2 3 import org.junit.Test; 4 import redis.clients.jedis.Jedis; 5 6 import java.util.HashMap; 7 import

redis在spring中的配置及java代码实现

1.建一个redis.properties属性文件 # Redis Setting redis.addr = 127.0.0.1 redis.port = 6379 redis.auth = master redis.maxIdle = 200 redis.maxActive = 1024 redis.maxWait = 10000 redis.timeOut = 10000 redis.testOnBorrow = true 2.新建一个RedisUtil.java文件,文件代码如下: pac

Java中使用Redis

学习资料: redis学习及实践3---Jedis.JedisPool.Jedis分布式实例介绍 redis 工具类 单个redis.JedisPool 及多个redis.shardedJedisPool与spring的集成配置 Java中使用Jedis操作Redis ShardedJedisPool的使用 Codis作者黄东旭细说分布式Redis架构设计和踩过的那些坑

java中操作redis

1 package com.redis; 2 3 import java.io.IOException; 4 import java.util.concurrent.ConcurrentHashMap; 5 6 import redis.clients.jedis.Jedis; 7 import redis.clients.jedis.Transaction; 8 /** 9 * java中操作redis 10 * 11 * @author Administrator 12 * 13 */ 14

为什么要用缓存服务器以及在 Java 中实现一个 redis 缓存服务

缓存服务的意义 为什么要使用缓存?说到底是为了提高系统的运行速度.将用户频繁访问的内容存放在离用户最近,访问速度最快的地方,提高用户的响应速度.一个 web 应用的简单结构如下图. web 应用典型架构 在这个结构中,用户的请求通过用户层来到业务层,业务层在从数据层获取数据,返回给用户层.在用户量小,数据量不太大的情况下,这个系统运行得很顺畅.但是随着用户量越来越大,数据库中的数据越来越多,系统的用户响应速度就越来越慢.系统的瓶颈一般都在数据库访问上.这个时候可能会将上面的架构改成下面的来缓解数

Java中的Redis 哨兵高可用性

让我们探索Redis Sentinel,看看如何在Java上运行它,一起来看看,最近get了很多新知识,分享给大家参考学习.需要详细的java架构思维导图路线也可以评论获取! 什么是Redis哨兵? 在优锐课的java分享中讨论了,可用性是任何企业数据库中最重要的质量之一.用户必须保证他们可以访问所需的信息和见解,从而在工作中表现出色. 但是,确保数据库在需要时可用是一件容易的事,而做起来却容易.术语“高可用性”是指可以连续运行而不会出现故障的系统,该系统的时间长度比平均时间长. Redis S