Redis的常用方法总结
2016-01-31 21:54
441 查看
public static RedisDao jedis; public static void main(String[] args) { jedis=(RedisDao) context.getBean("redisDao"); //将数据放入redis jedis.set("testKey","testValue"); //放入缓存,并设置30s后失效 jedis.set("testValid",new Date().toString(), 30); jedis.rpush("11", "22", "33", "44", "55"); //获取当前库中的总数 int count=jedis.getKeyCount(""); String testkey=jedis.get("bb"); List <String> students = jedis.lrange("11", 0, -1) ; System.out.println("testkey========="+testkey); System.out.println("testlist========="+students.toString()); System.out.println("test=========count="+count); } /** * 操作普通键值对 */ @Test public void test01(){ //存入1个key=name value=hello的键值对 jedis.set("name", "hello"); String value = jedis.get("name"); //获取key=name的值 System.out.println(value); jedis.del("name"); value = jedis.get("name"); //获取key=name的值 System.out.println(value); } /** * 操作List */ @Test public void test02(){ //将zhoufeng 加入students数组的开头,如果该元素是第一个元素,那么会自动创建students数组 jedis.rpush("students", "first"); //将zhangsan加入到students的末尾 jedis.lpush("students", "end"); //移除students的第一个元素 jedis.lpop("students"); //移除students的最后一个元素 jedis.rpop("students"); //移除制定的元素,第二个参数表示要移除的个数,因为list中是允许出现重复元素的 jedis.lrem("student", 1, "first") ; //获取students数组的所有元素 List <String> students = jedis.lrange("students", 0, -1) ; System.out.println(students); } /** * 操作Set */ @Test public void test03(){ //添加元素 jedis.sadd("teachers", "zhangsan"); jedis.sadd("teachers", "lisi","hello"); jedis.sadd("teachers", "wangwu"); //判断Set是否包含制定元素 Boolean b1 = jedis.sismember("teachers", "wangwu"); Boolean b2 = jedis.sismember("teachers", "xxxxx"); System.out.println(b1 + " " + b2); //获取Set内所有的元素 Set<String> members = jedis.smembers("teachers"); Iterator<String> it = members.iterator() ; while(it.hasNext()){ System.out.println(it.next()); } // jedis.sunion(keys...) 可以将多个Set合并成1个并返回合并后的Set } /** * 操作带排序功能的Set */ @Test public void test04(){ //添加元素,会根据第二个参数排序 jedis.zadd("emps", 5 , "aaa") ; jedis.zadd("emps", 1 , "bbbb") ; jedis.zadd("emps", 3 , "ccc") ; jedis.zadd("emps", 2 , "ddd") ; //获取所有元素 Set<String> emps = jedis.zrange("emps", 0, -1) ; Iterator<String> it = emps.iterator() ; while(it.hasNext()){ System.out.println(it.next()); } } /** * 存入对象,使用Map作为对象 */ @Test public void test05(){ Map<String , String > car = new HashMap<String , String >() ; car.put("COLOR", "red") ; car.put("SIZE", "2T"); car.put("NO", "8888"); jedis.hmset("car", car); //获取整个对象 Map<String, String> result = jedis.hgetAll("car"); Iterator<Entry<String, String>> it = result.entrySet().iterator(); while(it.hasNext()){ Entry<String, String> entry = it.next() ; System.out.println("key:" + entry.getKey() + " value:" + entry.getValue()); } //也可以获取制定的属性 String no = jedis.hget("car", "NO") ; System.out.println("NO:" + no); }
相关文章推荐
- Redis 源码分析(二) 一个 rehash 也不阻塞的哈希表
- redis集群
- Redis和MySQL方案
- Redis介绍
- Redis持久化
- Redis的订阅与发布
- Redis性能调优:保存SNAPSHOT对性能的影响
- php Session存储到Redis的方法
- Redis事务介绍
- redis的事务
- redis 的无序集合和hash操作
- linux下安装redis,启动,停止,设置密码
- Redis源码解析:05跳跃表
- redis Ok2
- redis OK
- Redis
- redis 链表操作
- Redis 源码分析 (一)Redis竟然用 C 语言进行面向对象编程
- Redis-复制
- 配置Tomcat使用Redis作为session管理