redis 在java中的使用

摘要:
1.首先,下载jar包并将其放入项目中。2.练习packagecom。浙江。redistTest;importjava.util.Iterator;importjava.util.List;importjava.util.Set;importredis.clients.jedis;publicclassRedisTest{publicstaticvoidmain(String[])a

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

redis 在java中的使用第1张

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参数的配置等。

privatestaticJedisPool jedisPool = null;
privatestaticJedis jedis;
 
static{
  jedis = getJedisPool().getResource();
}
 
/**
 * 构建redis连接池
 */
publicstaticJedisPool getJedisPool() {
  if(jedisPool == null) {
    JedisPoolConfig config = newJedisPoolConfig();
    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 = newJedisPool(config, "127.0.0.1", 6379);
  }
  returnjedisPool;
}
 
/**
 * 释放jedis资源
 */
publicstaticvoidreturnResource(Jedis jedis) {
  if(jedis != null) {
    jedis.close();
  }
}
publicstaticString 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);
  }
  returnvalue;
}
 
RedisTemplate封装了从JedisPool中取jedis以及返回池中
 
publicclassRedisTemplate {
 
  privateJedisPool jedisPool;
 
  publicRedisTemplate(JedisPool jedisPool) {
    this.jedisPool = jedisPool;
  }
 
  public<T> T execute(RedisCallback<T> callback) {
    Jedis jedis = jedisPool.getResource();
    try{
      returncallback.handle(jedis);
    }
    catch(Exception e) {
      // throw your exception
      throwe;
    }
    finally{
      returnResource(jedis);
    }
  }
 
  privatevoidreturnResource(Jedis jedis) {
    if(jedis != null) {
      jedis.close();
    }
  }
}
publicinterfaceRedisCallback<T> {
  publicT handle(Jedis jedis);
}

免责声明:文章转载自《redis 在java中的使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇RabbitMQ(四)Spring集成RabbitMQwindows10的子系统linux(wsl)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

DEV ComBoxEdit实现模糊检索数据

这几天老大叫我修改一下项目中LookUpEdit控件的下拉选择功能,实现模糊检索数据,经过一番研究,发现LookUpEdit控件只能实现部分模糊检索数据功能,也就是它的检索索引是从第一位开始,也就是模糊检索数据的时候,用户必须从头开始检索,这样给用户不友好,如果只知道其中的某些关键字则实现不了。如下图: 查询了资料后,发现LookUpEdit不支持自由输...

WPF 创建桌面快捷方式

#region 创建桌面快捷方式 string deskTop = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Desktop); string dirPath = System.Environment.CurrentDirectory;...

Unity3D:粒子系统Particle System

1. GameObject → Create Other  →  Particle System。 2. 选中 Particle System,可看到下列屬性:                           3.Particle System:                           Duration: 粒子发射时间(设定为5秒。每...

redis基本操作和 过期时间设置以及持久化方案

Redis是NOSQL阵营中的一种数据库,主要用于存储缓存 五大数据类型:字符串(String)、散列(hash)、列表(list)、集合(set)、有序集合(SortedSett 、zset) String:   set key value    键值对存储值 get key      通过键获取值 keys *        查看所有键 incr ke...

Windows下Redis的安装和部署

Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,z...

C#获取当前路径

//获取包含清单的已加载文件的路径或 UNC 位置。         public static string sApplicationPath = Assembly.GetExecutingAssembly ( ).Location;         //result: X:\xxx\xxx\xxx.dll (.dll文件所在的目录+.dll文件名)...