Jedis的一些常见操作

来源:互联网 发布:saas软件销售术语 编辑:程序博客网 时间:2024/04/25 04:41

Redis是一种基于key-value的内存数据库,被称为noSql. 而Jedis则是Java与redis交互的接口。redis支持操作String, key, List, Set, SortedSet, Hash等数据类型。下面总结一些常见的操作,按不同数据类型分类总结。

涉及到的jar包有redis-2.6.jar, commons-pool2-2.0.jar(这个pool包必须有,因为redis的一些操作要依赖

该pool包的方法)——同时必须注意redis版本越高,需要依赖的pool的版本也越高。注:譬如redis用2.1版,只需要引用commons-pool-1.6.jar包,但是如果是2.6版本的jedis包,则需要依赖commons-pool2-2.0.jar包,否则会编译不通过的说!

 

首先,必须建立Jedis或ShardedJedis对象,Jedis基于这几种数据类型的操作,操作者都是Jedis或ShardedJedis的。(当然,安装redis搭建环境、开启服务 等步骤就不说了),下面以Jeids为例。(ShardedJedis有他自己的ShardedJedisPool池)

 

 // 池基本配置         JedisPoolConfig config = new JedisPoolConfig(); //        config.setMaxActive(20);         config.setMaxIdle(5);         config.setMaxWaitMillis(1000l);         config.setTestOnBorrow(false);                 jedisPool = new JedisPool(config,String host,int port);//从池当中获取Jeids对象Jedis jedis = JedisPool.getResource();//释放Jedis:jedisPool.returnResource(jedis);

 

然后一系列的操作都是jedis(或shardedJeids).xxxxx

 

(一)对Key的操作总结

 /**key的操作总结

    * flushDB()-清空库中所有数据

    * exists(String key)-判断key是否存在

    * keys(String pattern)-获取key集合

    * del(String key)-删除key

    * set(String key, String value)-为key设置value

    * expire(String key, int seconds)-设置key的存活时间

    * ttl(String key)-查看key的剩余存活时间

    * type(String key)-查看key的value对应的值类型

 */

 

(二)对String的操作

/**

      *String的操作 总结

      *set/get/del

      *append(String key, String append)-追加

      *mset(String key1,String value1,String key2,String value2,……)-一次性新增

      *mget(String key1,String key2,……)-一次性获取

      *del(String[] keys)-一次性删除

      *setnx(String key, String value)—当原先key有value时,将不会覆盖原有值

      *setex(String key, int seconds, String value)-为key指定value并指定存活时间

      *getSet(String key, String newVal)-获取原值,更新为新值

      *getrange(String key, int start, int end)-获取key对应的value的子串

 */

 

(三)对List的操作

/**

      * List操作总结

      * lpush(String listKey,String value)-为list加入元素

      * lrange(String listKey,0,-1)-获取list所有元素

      * lrem(String listKey, int count, String value)-从list中删除count个value元素

      * ltrim(String listKey,int start, int end)-删除区间以外的元素

      * lpop(String listKey)-出栈元素

      * lset(String listKey, int index, String value)-修改下表为Index的值为value

      * llen(String listKey)-list长度

      * sort(String listKey, SortingParams sp)-按 SortingParams为list排序

      * sort(String listKey)-简单排序,一般适合元素为数字的list

      * lindex(String listKey, int index)-获取指定下标对应的值

 */

 

(四)对Set的操作

/**

      * Set操作总结

      * sadd(String setKey, String value)-为set添加元素

      * smembers(String setKey)-查看set所有元素

      * srem(String setKey, String vlaue)-删除指定的value元素

      * sismember(String setKey, String vlaue)-判断value是否在set中

      * sinter(String setKey1, String setKey2, ……)-取集合交集

      * sunion(String setKey1, String setKey2, ……)-取集合并集

      * sdiff(String setKey1, String setKey2, ……)-取集合差集

*/

 

(五)对SortedSet的操作

/**

      * SortedSet操作总结

      * zadd(String setKey, double score, String value)-为集合添加元素并指定权重(存放顺序依据)

      * zrange(String setKey, 0 ,-1)-取出排好序的全部元素

      * zrem(String setKey, String value)-删除集合中的value元素

      * zcard(String setKey)-查看集合的元素个数

      * zcount(String setKey, double min, double max)-某个权重范围内,元素个数

      * zscore(String setKey, String value)-查询指定元素的权重

      * zrange(int start, int end)-获取指定下标范围内的元素(按从小到大排好了)

       * zrevange(int start, int end)-获取指定下标范围内的元素(按从大到小排好了)

       *jedis.zrank(key, member)-获取指定member的排名

*/

 

(六)对Hash的操作

/**

      * Hash操作总结

      * hset(String hashKey, String key, String value)-为hash添加元素

      * hmset(String hashKey, Map map<String, String>)-为hash添加一个map元素,需注意map的泛型

      * hincrBy(String hashKey, String key, int value)-为hash添加整型元素值(如果是已经存在,则value为在原值上增加的值)

      * hvals(String hashKey)-获取hash中所有元素

      * hdel(String hashKey, String key)-删除key对应的元素

      * hexists(String hashKey, String key)-判断key对应的元素是否存在

      * hget(String hashKey, String key)-获取key对应的元素

      * hmget(String key1, key2, ……)-一次性获取指定key所对应的元素

      * hgetAll(String key)-获取指定key所对应的map元素

      * hkeys(String hashKey)-获取hash的key集合

      * hvals(String hashKey)-获取hash的value集合

 */

 

总结完毕!

0 0
原创粉丝点击