本文主要讲解java如何操作redis.


使用java连接redis需要引入相应jedis的jar包。


java连接单个redis、redis连接池、redis集群(稍后在讲解)


//连接单个redis服务器  

Jedis jedis= new Jedis("192.168.0.100", 6379);          

jedis.close();


        

//连接redis线程池  

//redis配置对象

JedisPoolConfig config = new JedisPoolConfig();

//可用redis连接实例的最大数目

config.setMaxActive(8);

//最大的idle(空闲的)的jedis实例数,默认值也是8config.setMaxIdle(8);

//等待可用连接的最大时间,单位毫秒,默认值为-1,表示永不超时。如果超过等待时间,则直接抛出JedisConnectionException;

config.setMaxWait(10000);

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

config.setTestOnBorrow(TEST_ON_BORROW); 

//redis连接池对象

JedisPool jedisPool = new JedisPool(config, "192.168.0.100", "6379", 10000);

//获取Jedis实例

Jedis resource = jedisPool.getResource();

// 释放jedis资源

jedisPool.returnResource(jedis);



分别依次讲解String、Hash、List、Set、Zset


一、String操作



二、hash操作

//

Map map=new HashMap();

map.put("name", "wlan");

map.put("age", "16");

map.put("sex", "女");

//添加多条数据

jedis.hmset("userjava",map );

jedis.hget("userjava", "sex")

jedis.hexists("userjava", "name")

jedis.hlen("userjava")


jedis.hkeys("userjava")

jedis.hdel("userjava", "sex");

jedis.hvals("userjava")

//一次遍历userjava中的所有的数据

Set keys=jedis.hkeys("userjava");

for(String key:keys){

   System.out.println("key为"+key+" value为"+jedis.hget("userjava", key));

}


三、list操作


//队头添加数据

jedis.lpush("userlistl", "wlan1");

// 队尾添加数据

jedis.rpush("userlistl", "wlan6");

//修改队列指定下标的数据

jedis.lset("userlistl", 0, "xiugaixiaobiao0")

//队头遍历数据

jedis.lrange("userlistl", 0, -1);

//队列中元素的个数

jedis.llen("userlistl")

//获得指定下标的数据

jedis.lindex("userlistl", 1)

//删除指定个数的元素

jedis.lrem("userlistl", 2, "wlan3");

//截取指定下标的元素

jedis.ltrim("userlistl", 0, 1)

//队头删除数据

jedis.lpop("userlistl")

//队尾删除数据

jedis.rpop("userlistl")


四、set操作

//添加元素

jedis.sadd("set", "set1","set2","set3","set4","set1");

//元素个数

jedis.scard("set");

//遍历

jedis.smembers("set");

//判断是否包含元素

jedis.sismember("set", "set1");

//删除元素

jedis.srem("set", "set1")


五、zset操作