`
linyu19872008
  • 浏览: 278789 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

redis练习

 
阅读更多
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class Test1 {

	public static void main(String[] args) {
		Test1 test = new Test1();
		// test.testString();
		// test.testList();
		// test.testSet();
		// test.testSortedSet();
		test.testHash();
	}

	/**
	 * 测试hash
	 */
	public void testHash() {
		JedisPool pool = new JedisPool(new JedisPoolConfig(), "localhost");

		Jedis jedis = pool.getResource();
		try {

			// 清空数据
			System.out.println(jedis.flushDB());
			// 添加数据
			jedis.hset("hashs", "entryKey", "entryValue");
			jedis.hset("hashs", "entryKey1", "entryValue1");
			jedis.hset("hashs", "entryKey2", "entryValue2");
			System.out.println(jedis.hgetAll("hashs"));
			// 判断某个值是否存在
			System.out.println(jedis.hexists("hashs", "entryKey"));
			// 获取指定的值
			System.out.println(jedis.hget("hashs", "entryKey")); // 批量获取指定的值
			System.out.println(jedis.hmget("hashs", "entryKey", "entryKey1"));
			// 删除指定的值
			System.out.println(jedis.hdel("hashs", "entryKey"));
			System.out.println(jedis.hgetAll("hashs"));
			// 为key中的域 field 的值加上增量 increment
			System.out.println(jedis.hincrBy("hashs", "entryKey", 123l));
			System.out.println(jedis.hgetAll("hashs"));
			// // 获取所有的keys
			 System.out.println(jedis.hkeys("hashs"));
			// // 获取所有的values
			 System.out.println(jedis.hvals("hashs"));

		} finally {
			// 这里很重要,一旦拿到的jedis实例使用完毕,必须要返还给池中
			pool.returnResource(jedis);
		}
		// 程序关闭时,需要调用关闭方法
		pool.destroy();

	}

	/**
	 * 测试有序set
	 */
	public void testSortedSet() {
		JedisPool pool = new JedisPool(new JedisPoolConfig(), "localhost");

		Jedis jedis = pool.getResource();
		try {
			// 清空数据
			System.out.println(jedis.flushDB());
			// 添加数据
			jedis.zadd("zset", 10.1, "hello");
			jedis.zadd("zset", 10.0, ":");
			jedis.zadd("zset", 9.0, "zset");
			jedis.zadd("zset", 11.0, "zset!");
			// 元素个数
			System.out.println(jedis.zcard("zset"));
			// 元素下标
			System.out.println(jedis.zscore("zset", "zset"));
			// 集合子集
			System.out.println(jedis.zrange("zset", 0, -1));
			// 删除元素
			jedis.zrem("zset", "zset!");
			System.out.println(jedis.zrange("zset", 0, -1));
			System.out.println(jedis.zcount("zset", 9.5, 10.5));
			// 整个集合值
			System.out.println(jedis.zrange("zset", 0, -1));

		} finally {
			// 这里很重要,一旦拿到的jedis实例使用完毕,必须要返还给池中
			pool.returnResource(jedis);
		}
		// 程序关闭时,需要调用关闭方法
		pool.destroy();

	}

	/**
	 * 测试set
	 */
	private void testSet() {
		JedisPool pool = new JedisPool(new JedisPoolConfig(), "localhost");

		Jedis jedis = pool.getResource();
		try {
			// 清空数据
			System.out.println(jedis.flushDB());
			// 添加数据
			jedis.sadd("sets", "HashSet");
			jedis.sadd("sets", "SortedSet");
			jedis.sadd("sets", "TreeSet");
			// 判断value是否在列表中
			System.out.println(jedis.sismember("sets", "TreeSet"));
			// 整个列表值
			System.out.println(jedis.smembers("sets"));
			// 删除指定元素
			jedis.srem("sets", "SortedSet");
			System.out.println(jedis.smembers("sets"));

			// 出栈
			jedis.spop("sets");
			System.out.println(jedis.smembers("sets"));
			//
			jedis.sadd("sets1", "HashSet1");
			jedis.sadd("sets1", "SortedSet1");
			jedis.sadd("sets1", "TreeSet");
			jedis.sadd("sets2", "HashSet2");
			jedis.sadd("sets2", "SortedSet1");
			jedis.sadd("sets2", "TreeSet1");
			// 交集
			System.out.println(jedis.sinter("sets1", "sets2"));
			// 并集
			System.out.println(jedis.sunion("sets1", "sets2"));
			// 差集
			System.out.println(jedis.sdiff("sets1", "sets2"));

		} finally {
			// 这里很重要,一旦拿到的jedis实例使用完毕,必须要返还给池中
			pool.returnResource(jedis);
		}
		// 程序关闭时,需要调用关闭方法
		pool.destroy();

	}

	/**
	 * 测试list
	 */
	public void testList() {
		JedisPool pool = new JedisPool(new JedisPoolConfig(), "localhost");

		Jedis jedis = pool.getResource();
		try {
			// 清空数据
			System.out.println(jedis.flushDB());
			// 添加数据
			jedis.lpush("lists", "vector");
			jedis.lpush("lists", "ArrayList");
			jedis.lpush("lists", "LinkedList");
			// 数组长度
			System.out.println(jedis.llen("lists"));
			// 排序
			// System.out.println(jedis.sort("lists"));
			// 字串
			System.out.println(jedis.lrange("lists", 0, 3));
			// 修改列表中单个值
			jedis.lset("lists", 0, "hello list!");
			System.out.println(jedis.lrange("lists", 0, 3));
			// 获取列表指定下标的值
			// System.out.println(jedis.lindex("lists", 0));
			// 删除列表指定下标的值
			// jedis.lrem("lists", 0, "vector");
			// System.out.println(jedis.lrange("lists", 0, 3));
			// // 删除区间以外的数据
			// jedis.ltrim("lists", 0, 1);
			// System.out.println(jedis.lrange("lists", 0, 3));
			// 列表出栈
			jedis.lpop("lists");
			// // 整个列表值
			System.out.println(jedis.lrange("lists", 0, -1));

		} finally {
			// 这里很重要,一旦拿到的jedis实例使用完毕,必须要返还给池中
			pool.returnResource(jedis);
		}
		// 程序关闭时,需要调用关闭方法
		pool.destroy();
	}

	/**
	 * 测试string
	 */
	public void testString() {
		JedisPool pool = new JedisPool(new JedisPoolConfig(), "localhost");

		Jedis jedis = pool.getResource();
		try {
			// 清空数据
			System.out.println(jedis.flushDB());
			// 存储数据
			jedis.set("foo", "bar");
			System.out.println(jedis.get("foo"));

			// 若key不存在,则存储
			jedis.setnx("foo", "foo not exits");
			System.out.println(jedis.get("foo"));

			// 覆盖数据
			jedis.set("foo", "foo update");
			System.out.println(jedis.get("foo"));

			// 追加数据
			jedis.append("foo", " hello, world");
			System.out.println(jedis.get("foo"));

			// 设置key的有效期,并存储数据
			jedis.setex("foo", 2, "foo not exits");
			System.out.println(jedis.get("foo"));
			try {
				Thread.sleep(3000);
			} catch (InterruptedException e) {
			}
			System.out.println(jedis.get("foo"));

			// 获取并更改数据
			jedis.set("foo", "foo update");
			System.out.println(jedis.getSet("foo", "foo modify"));

			// 截取value的值
			System.out.println(jedis.getrange("foo", 1, 3));
			System.out.println(jedis.mset("mset1", "mvalue1", "mset2",
					"mvalue2", "mset3", "mvalue3", "mset4", "mvalue4"));
			System.out.println(jedis.mget("mset1", "mset2", "mset3", "mset4"));
			System.out.println(jedis
					.del(new String[] { "foo", "foo1", "foo3" }));

		} finally {
			// 这里很重要,一旦拿到的jedis实例使用完毕,必须要返还给池中
			pool.returnResource(jedis);
		}
		// 程序关闭时,需要调用关闭方法
		pool.destroy();

	}
}
 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics