Redis 之jedis 实践

最近有空,实践了一些代码。保存下来,以备后用。
此代码参考了互联网其它网友的代码,在其基础上进行整理。


public class MyJedisPool {

// jedis池
private static JedisPool pool;
// 静态代码初始化池配置
static {
// 加载redis配置文件
ResourceBundle bundle = ResourceBundle.getBundle("redis");
if (bundle == null) {
throw new IllegalArgumentException(
"[redis.properties] is not found!");
}
// 创建jedis池配置实例
JedisPoolConfig config = new JedisPoolConfig();


// 设置池配置项值

config.setMaxTotal(Integer.valueOf(bundle
.getString("jedis.pool.maxActive")));
// config.setMaxActive(Integer.valueOf(bundle.getString("redis.pool.maxActive")));
config.setMaxIdle(Integer.valueOf(bundle
.getString("jedis.pool.maxIdle")));
// config.setMaxWait(Long.valueOf(bundle.getString("redis.pool.maxWait")));

config.setMaxWaitMillis(Long.valueOf(bundle
.getString("jedis.pool.maxWait")));
config.setTestOnBorrow(Boolean.valueOf(bundle
.getString("jedis.pool.testOnBorrow")));
config.setTestOnReturn(Boolean.valueOf(bundle
.getString("jedis.pool.testOnReturn")));
// 根据配置实例化jedis池
pool = new JedisPool(config, bundle.getString("redis.ip"),
Integer.valueOf(bundle.getString("redis.port")));
}

/**
* 测试jedis池方法
*/
public static void test1() {
// 从jedis池中获取一个jedis实例
Jedis jedis = pool.getResource();
// 获取jedis实例后可以对redis服务进行一系列的操作
jedis.set("name", "xmong");

System.out.println(jedis.get("name"));
jedis.del("name");
System.out.println(jedis.exists("name"));

// 释放对象池,即获取jedis实例使用后要将对象还回去
pool.returnResource(jedis);
}

public static void main(String[] args) {
test1();// 执行test1方法
}

}

附上属性文件
  #redis服务器ip #  
   redis.ip=127.0.0.1
    #redis服务器端口号#
    redis.port=6379
    
    ###jedis##pool##config###
    #jedis的最大分配对象#
    jedis.pool.maxActive=1024
  
    #jedis最大保存idel状态对象数 #
    jedis.pool.maxIdle=200
  
    #jedis池没有对象返回时,最大等待时间 #
    jedis.pool.maxWait=1000
  
    #jedis调用borrowObject方法时,是否进行有效检查#
    jedis.pool.testOnBorrow=true
  
    #jedis调用returnObject方法时,是否进行有效检查 #
    jedis.pool.testOnReturn=true
1 读取某个key下的所有filed,

Set<String> myhomeKeys = jedis.hkeys("BasCodeDict");




Iterator<String> it = myhomeKeys.iterator();

while (it.hasNext()) {


     System.out.println("角色:" + it.next());
    
    
}
2 redis 分为key,filed,value

读取某个key下某个filed的值

String a =jedis.hget("BasCodeDict", "\"StocktakeType\"");

System.out.println(a);
/*List myhomeValues= jedis.hvals("BasCodeDict");

System.out.println(myhomeValues.size());

for (int i = 0; i < myhomeValues.size(); i++) {
System.out.println("hello");
     System.out.println("成员:" + myhomeValues.get(i));
}
*/
//System.out.println(myhomeKeys.toString());

你可能感兴趣的:(redis)