您的位置:首页 > 数据库 > Redis

Redis-Jedis操作

2017-09-05 16:40 141 查看
Redis环境:Redis-x64-3.2.100

修改密码, 打开redis.windows.conf,去掉注释

# 密码

requirepass 123456


使用Jedis操作Redis

依赖jar



测试类

package com.zzs.redis;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.junit.Before;
import org.junit.Test;

import redis.clients.jedis.Jedis;

public class RedisTest {

private Jedis jedis;

@Before
public void setup(){
//在cmd上启动redis服务
//命令: redis-server.exe redis.windows.conf

//链接redis服务器
jedis = new Jedis("127.0.0.1", 6379);
//权限认证
jedis.auth("123456");
}

//redis存储字符串
//@Test
public void testString(){
//添加字符串
jedis.set("name", "keep");
System.out.println(jedis.get("name"));

//拼接字符串
jedis.append("name", " is my name");
System.out.println(jedis.get("name"));

//删除键
jedis.del("name");
System.out.println(jedis.get("name"));

//设置多个键值对
jedis.mset("name", "kkk", "age", "22");
System.out.println(jedis.get("age"));
}

//redis操作Map
//@Test
public void testMap(){
//添加数据
Map<String, String> map = new HashMap<>();
map.put("name", "Jack");
map.put("age", "22");
map.put("qq", "123456");
//添加map
jedis.hmset("user", map);
//取出map
List<String> rsmap = jedis.hmget("user", "name", "age", "qq");
System.out.println(rsmap);
//删除map中的某个键值
jedis.hdel("user", "age");
System.out.println(jedis.hmget("user", "age"));
//返回存放的值个数
System.out.println(jedis.hlen("user"));
//是否存在key为user的记录
System.out.println(jedis.exists("user"));
//返回map对象中所有的key
System.out.println(jedis.hkeys("user"));
//返回map对象中所有的value
System.out.println(jedis.hvals("user"));
}

//Redis操作List
//@Test
public void testList() {
//移除所有内容
jedis.del("java framework");
System.out.println(jedis.lrange("java framework", 0, -1));
//存入数据
jedis.lpush("java framework", "spring");
jedis.lpush("java framework", "struts");
jedis.lpush("java framework", "hibernate");
//取出数据
System.out.println(jedis.lrange("java framework", 0, -1));
//清除数据
jedis.del("java framework");
//存入数据
jedis.rpush("java framework", "spring");
jedis.rpush("java framework", "struts");
jedis.rpush("java framework", "hibernate");
//取出数据
System.out.println(jedis.lrange("java framework", 0, -1));
}

//jedis操作set
//@Test
public void testSet(){
jedis.del("user");
//添加
jedis.sadd("user", "zhangsan");
jedis.sadd("user", "lisi");
jedis.sadd("user", "wangwu");
jedis.sadd("user", "Jack");
//获取set
System.out.println(jedis.smembers("user"));
//移除
jedis.srem("user", "Jack");
//判断是否属于集合
System.out.println(jedis.sismember("user", "Jack"));
}

//jedis排序
//@Test
public void testSort(){
jedis.del("a");
jedis.rpush("a", "1");
jedis.lpush("a", "7");
jedis.lpush("a", "5");
jedis.lpush("a", "9");
System.out.println(jedis.lrange("a", 0, -1));
System.out.println(jedis.sort("a"));
System.out.println(jedis.lrange("a", 0, -1));
}

//线程池测试
@Test
public void testRedisPool(){
RedisUtil.getJedis().set("where", "fsd");
System.out.println(RedisUtil.getJedis().get("where"));
}
}


3. 线程类


package com.zzs.redis;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class RedisUtil {

private static String ADDR = "127.0.0.1"; //服务器地址
private static int PORT = 6379; //端口号
private static String AUTH = "123456";  //密码
private static int MAX_ACTIVE = 1024;   //可连接实例最大数目,默认为8, -1表示不限制
private static int MAX_IDLE = 200;  //pool中最大有多少个状态为idle(空闲)的jedis实例,默认为8
private static int MAX_WAIT = 10000;    //等待连接的最大时间(ms),默认为-1, 永不超时。若超时抛出异常
private static int TIMEOUT = 10000;
private static boolean TEST_ON_BORROW = true;   //在borrow一个jedis实例是,是否体检进行validate操作;如果为true,则得到的jedis实例均是可用
private static JedisPool jedisPool = null;

//初始化Redis连接池
static{
try{
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxActive(MAX_ACTIVE);
config.setMaxIdle(MAX_IDLE);
config.setMaxWait(MAX_WAIT);
config.setTestOnBorrow(TEST_ON_BORROW);
jedisPool = new JedisPool(config, ADDR, PORT, TIMEOUT, AUTH);
}catch(Exception e){
e.printStackTrace();
}
}

//获取Jedis实例
public synchronized static Jedis getJedis(){
try{
if(jedisPool != null){
Jedis resource = jedisPool.getResource();
return resource;
}else{
return null;
}
}catch(Exception e){
e.printStackTrace();
return null;
}
}

//是否Jedis实例
public static void returnResource(final Jedis jedis){
if(jedis != null){
jedisPool.returnResource(jedis);
}
}

}


文章原地址: 这里写链接内容
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis jedis