jedis+java

  1. package com.liubo.redis;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Map;
    import org.junit.Before;
    import org.junit.Test;
    import redis.clients.jedis.Jedis;
    import redis.clients.jedis.JedisPool;
    import redis.clients.jedis.JedisPoolConfig;
    publicclassRedisClient{
    JedisPool pool;
    Jedis jedis;
    @Before
    publicvoid setUp(){
    pool =newJedisPool(newJedisPoolConfig(),"127.0.0.1");
    jedis = pool.getResource();
    }
    /**
    * key-value String 测试
    */
    @Test
    publicvoid testString(){
    // 1 key-value 存储string
    jedis.set("name","liubo");
    System.out.println("jedis GET "+ jedis.get("name"));
    // 2 key 追加 value
    jedis.append("name"," hello");
    System.out.println("jedis GET "+ jedis.get("name"));
    // 3 覆盖value
    jedis.set("name","boliu");
    System.out.println("jedis GET "+ jedis.get("name"));
    // 4删除key 对应的记录
    jedis.del("name");
    System.out.println("jedis GET "+ jedis.get("name"));
    }
    /**
    * mset 测试
    */
    @Test
    publicvoid testMset(){
    jedis.mset("name","liubo","age","11");
    System.out.println("mset "+ jedis.mget("name","age"));
    // mset [liubo, 11]
    }
    /**
    * Map 测试
    */
    @Test
    publicvoid testMap(){
    Map<String,String> user =newHashMap<String,String>();
    user.put("name","liubo");
    user.put("password","123456");
    jedis.hmset("user", user);
    List<String> rsMap = jedis.hmget("user","password");
    List<String> rsMap2 = jedis.hmget("user","password","name");
    /**
    * /取出user中的name,执行结果:[minxr]-->注意结果是一个泛型的List
    * //第一个参数是存入redis中map对象的key,后面跟的是放入map中的对象的key, 后面的key可以跟多个,是可变参数
    */
    System.out.println(rsMap);// [123456]
    System.out.println(rsMap2);// [123456, liubo]
    // 删除map中的某个键值
    jedis.hdel("user","password");
    System.out.println(jedis.hmget("user","pwd"));// 因为删除了,所以返回的是null
    System.out.println(jedis.hlen("user"));// 返回key为user的键中存放的值的个数1
    System.out.println(jedis.exists("user"));// 是否存在key为user的记录 返回true
    System.out.println(jedis.hkeys("user"));// 返回map对象中的所有key [pwd, name]
    System.out.println(jedis.hvals("user"));// 返回map对象中的所有value [minxr,
    // password]
    Iterator<String> iter = jedis.hkeys("user").iterator();
    while(iter.hasNext()){
    String key = iter.next();
    System.out.println(key +":"+ jedis.hmget("user", key));
    }
    }
    /**
    * jedis操作List
    */
    @Test
    publicvoid testList(){
    // 开始前,先移除所有的内容
    jedis.del("java framework");
    System.out.println(jedis.lrange("java framework",0,-1));
    // 先向key java framework中存放三条数据
    jedis.lpush("java framework","spring");
    jedis.lpush("java framework","struts");
    jedis.lpush("java framework","hibernate");
    // 再取出所有数据jedis.lrange是按范围取出,
    // 第一个是key,第二个是起始位置,第三个是结束位置,jedis.llen获取长度 -1表示取得所有
    System.out.println(jedis.lrange("java framework",0,-1));
    }
    /**
    * jedis操作Set
    */
    @Test
    publicvoid testSet(){
    // 添加
    jedis.sadd("sname","minxr");
    jedis.sadd("sname","jarorwar");
    jedis.sadd("sname","闵晓荣");
    jedis.sadd("sanme","noname");
    // 移除noname
    jedis.srem("sname","noname");
    System.out.println(jedis.smembers("sname"));// 获取所有加入的value
    System.out.println(jedis.sismember("sname","minxr"));// 判断 minxr
    // 是否是sname集合的元素
    System.out.println(jedis.srandmember("sname"));
    System.out.println(jedis.scard("sname"));// 返回集合的元素个数
    }
    @Test
    publicvoid test()throwsInterruptedException{
    // keys中传入的可以用通配符
    System.out.println(jedis.keys("*"));// 返回当前库中所有的key [sose, sanme, name,
    // jarorwar, foo, sname, java
    // framework, user, braand]
    System.out.println(jedis.keys("*name"));// 返回的sname [sname, name]
    System.out.println(jedis.del("sanmdde"));// 删除key为sanmdde的对象 删除成功返回1
    // 删除失败(或者不存在)返回 0
    System.out.println(jedis.ttl("sname"));// 返回给定key的有效时间,如果是-1则表示永远有效
    jedis.setex("timekey",10,"min");// 通过此方法,可以指定key的存活(有效时间) 时间为秒
    Thread.sleep(5000);// 睡眠5秒后,剩余时间将为<=5
    System.out.println(jedis.ttl("timekey"));// 输出结果为5
    jedis.setex("timekey",1,"min");// 设为1后,下面再看剩余时间就是1了
    System.out.println(jedis.ttl("timekey"));// 输出结果为1
    System.out.println(jedis.exists("key"));// 检查key是否存在
    // System.out.println(jedis.rename("timekey","time"));
    System.out.println(jedis.get("timekey"));// 因为移除,返回为null
    System.out.println(jedis.get("time"));// 因为将timekey 重命名为time 所以可以取得值
    // min
    // jedis 排序
    // 注意,此处的rpush和lpush是List的操作。是一个双向链表(但从表现来看的)
    jedis.del("a");// 先清除数据,再加入数据进行测试
    jedis.rpush("a","1");
    jedis.lpush("a","6");
    jedis.lpush("a","3");
    jedis.lpush("a","9");
    System.out.println(jedis.lrange("a",0,-1));// [9, 3, 6, 1]
    System.out.println(jedis.sort("a"));// [1, 3, 6, 9] //输入排序后结果
    System.out.println(jedis.lrange("a",0,-1));
    }
    @Test
    publicvoid testOther(){
    // 清空数据
    System.out.println(jedis.flushDB());
    System.out.println(jedis.echo("foo"));
    // 判断key否存在
    System.out.println(jedis.exists("foo"));
    jedis.set("key","values");
    System.out.println(jedis.exists("key"));
    // 若key不存在,则存储
    jedis.setnx("foo","foo not exits");
    System.out.println(jedis.get("foo"));
    // 设置key的有效期,并存储数据 2秒
    jedis.setex("foo",2,"foo not exits");
    System.out.println(jedis.get("foo"));
    try{
    Thread.sleep(3000);
    }catch(InterruptedException e){
    }
    // 清空数据
    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.lindex("lists",1));
    // 删除列表指定下标的值
    System.out.println(jedis.lrem("lists",1,"vector"));
    // 删除区间以外的数据
    System.out.println(jedis.ltrim("lists",0,1));
    // 列表出栈
    System.out.println(jedis.lpop("lists"));
    // 整个列表值
    System.out.println(jedis.lrange("lists",0,-1));
    // 清空数据
    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"));
    // 删除指定元素
    System.out.println(jedis.srem("sets","SortedSet"));
    // 出栈
    System.out.println(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"));
    // 清空数据
    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));
    // 删除元素
    System.out.println(jedis.zrem("zset","zset!"));
    System.out.println(jedis.zcount("zset",9.5,10.5));
    // 整个集合值
    System.out.println(jedis.zrange("zset",0,-1));
    }
    }
    
    来自为知笔记(Wiz)
    
    附件列表
    

      

时间: 2024-11-14 05:22:23

jedis+java的相关文章

Redis学习(5)-Jedis(Java操作redis数据库技术)

Java连接redis 一,导入jar包 Redis有什么命令,Jedis就有什么方法 设置防火墙 在Linux上面运行如下代码: 单实例:Jedis实例: package com.jedis.demo; import org.junit.Test; import redis.clients.jedis.Jedis; public class Demo1 { /* * 单实例连接redis数据库 * */ @Test public void run() { //参数:ip地址,端口号 Jedis

spring 集成redis客户端jedis(java)

jedis是redis的java客户端,spring将redis连接池作为一个bean配置. "redis.clients.jedis.JedisPool",这是单机环境适用的redis连接池. 1.maven导入相关包: <!-- redis依赖包 --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> &l

Jedis(Java+Redis) Pool的使用

今天试了一下Jedis里连接池JedisPool的的使用.代码如下: package com.myapp.jedis.pooldemo; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; /** * Created by baidu on 16/10/18. */ public class TestPool { pr

Redis Java客户端jedis工具类以及Redis实现的跨jvm的锁

Redis Java客户端jedis工具类以及Redis实现的跨jvm的锁 最近项目中使用redis,学习了一下,client端使用jedis-2.1.0 首先是一个redis实现的跨jvm的lock, 接着是一个简单封装的工具类,也对pipeline处理进行了几个常用的封装 然后是对应Spring的相关配置 Java代码   public class RedisLock { /** 加锁标志 */ public static final String LOCKED = "TRUE";

Java使用Jedis操作Redis大全

Java操作Redis需要导入两个jar: commons-pool2-2.4.2.jar jedis-2.1.0.jar package com.chinasofti.test; import java.io.IOException; import java.io.OutputStream; import java.util.HashMap; import java.util.Map; import java.util.logging.Logger; import org.junit.Befo

Java客户端Jedis

使用Jedis的Java客户端 maven依赖 <!-- jedis --> <dependency> <groupid>redis.clients</groupid> jedis</artifactid> <version>2.9.0</version> </dependency> <!-- fastjson --> <dependency> <groupid>com.al

redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect time out

redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect timed outat redis.clients.jedis.Connection.connect(Connection.java:154)at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:83)at redis.clients

Java 连接操作 Redis 出现错误

Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused: connect at redis.clients.jedis.Connection.connect(Connection.java:207) at redis.clients.jedis.BinaryClient.connect

java面试⑦高级部分

2.6.1有没有用过Linux?你都用它来做什么? Linux是一个长时间运行比较稳定的操作系统,所以我们一般会拿他作为服务器(web,db,app等). Linux本身具有C的编译环境,我们的一些软件是没有软件包的(redis等),需要在Linux的C编译环境编译得到软件包 2.6.2说一下Linux下面的一些常用命令 常用: pwd 获取当前路径 cd 跳转到目录 su -u 切换到管理员 ls 列举目录 文件操作命令: 文件 tail 查看 rm -rf 删除 vim 修改 文件夹 mkd