本文主要讲解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.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
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操作