`
Everyday都不同
  • 浏览: 723601 次
  • 性别: Icon_minigender_1
  • 来自: 宇宙
社区版块
存档分类
最新评论

Jedis的一些常见操作

阅读更多

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集合

 */

 

总结完毕!

分享到:
评论

相关推荐

    jedis单机版,集群版工具类

    2. **键值对操作**:Jedis 支持常见的 Redis 命令,如设置键值对、获取键值、删除键等。 ```java jedis.set("key", "value"); String value = jedis.get("key"); jedis.del("key"); ``` 3. **字符串操作**:除了...

    jedis.rar(java操作redis依赖)2.9.0

    Java操作Redis是一个常见的任务,特别是在构建高性能、高并发的分布式应用中。Jedis是一个轻量级的Java客户端,专门用于连接和操作Redis数据库。在这个"jedis.rar"压缩包中,包含的是Jedis库的2.9.0版本,它是Java...

    jedis安装包

    Jedis提供了丰富的命令接口,以下是一些常见的操作示例: 1. 设置和获取字符串: ```java jedis.set("key", "value"); String value = jedis.get("key"); ``` 2. 操作哈希(Hash): ```java jedis.hset("hashKey...

    jedis.jar下载

    #### 常见操作 1. **设置和获取键值**: ```java jedis.set("key", "value"); String value = jedis.get("key"); ``` 2. **哈希表操作**: ```java jedis.hset("hashKey", "field1", "value1"); Map, ...

    jedis简单实例

    - **字符串操作**:Jedis支持常见的字符串操作,如设置、获取、删除等。 ```java jedis.set("key", "value"); String value = jedis.get("key"); jedis.del("key"); ``` - **哈希操作**:可以将对象序列化后存入...

    java连接redis/jedis连接池/jedis相关工具/jedis对象存取

    Jedis是Java语言中广泛使用的Redis客户端库,它提供了丰富的API来操作Redis服务器。 首先,让我们深入了解Java如何通过Jedis连接到Redis。Jedis连接池是优化资源管理的关键,它允许开发者预先创建并复用连接,避免...

    JAVA API CHM Jedis

    结合标签“java Jedis CHM API JavaSc”,我们可以推断这是一个关于Java Jedis库的API文档,可能包含如何在Java项目中使用Jedis进行Redis操作的详细说明,以及可能涉及JavaScript相关的内容,比如如果Jedis的使用...

    jedis-2.9.0.jar

    以下是一些常见的操作示例: **字符串(String)操作:** - 设置键值对:`jedis.set("key", "value");` - 获取键值:`String value = jedis.get("key");` - 删除键:`jedis.del("key");` **哈希(Hash)操作:** -...

    java,redis,jedis操作工具类,自己写的简易 demo

    常见的Jedis连接池实现是`org.apache.commons.pool2.impl.GenericObjectPool`。配置包括: - `maxTotal`: 最大连接数。 - `maxIdle`: 最大空闲连接数。 - `minIdle`: 最小空闲连接数。 - `testOnBorrow`: 借出...

    jedis接口API

    以下是一些常用的 Jedis 字符串操作接口: 1. `set(String key, String value)`:设置给定的键(Key)对应的值(Value),如果键已存在,原有的值会被覆盖。 2. `get(String key)`:获取指定键的值,如果键不存在,...

    redis连接池jar jedis+common

    Jedis是Java语言中广泛使用的Redis客户端库,它提供了丰富的API来操作Redis服务器。在Java应用中,为了提高性能和资源利用率,通常会使用连接池管理Jedis实例,这就是“redis连接池jar jedis+common”所指的内容。 ...

    Redis Java客户端Jedis 2.9.0 jar+commons-pool2-2.4.2

    1. **基本操作**:支持常见的Redis命令,如设置和获取键值(`set` 和 `get`)、删除键(`del`)、字符串操作(`append`, `strlen`, `substr`)等。 2. **哈希操作**:对Redis中的哈希表进行操作,包括添加、获取和删除...

    spring-data + jedis + redis代码

    Jedis是Java的一个开源客户端,专门用于连接和操作Redis服务器。 首先,让我们详细了解一下Spring Data。Spring Data是一个模块化的项目,它的主要目标是通过提供统一的API来减少数据访问层的开发工作。这个框架...

    jedis-jedis-2.8.2.zip

    Jedis库封装了常见的Redis操作异常,如`JedisConnectionException`、`JedisDataException`等,帮助开发者更好地处理错误和异常情况。 总的来说,Jedis 2.8.2作为一款强大的Redis客户端,提供了全面的Redis命令接口...

    jedis-2.9.0.jar Java中连接redis所需的jar包

    Jedis-2.9.0是Jedis的一个稳定版本,它修复了一些已知问题,提高了性能,并增加了对新Redis特性的支持。如果你的项目需要与Redis交互,Jedis-2.9.0是一个可靠的选项。 标签“Redis Java”表明这是关于使用Java语言...

    Jedis序列化和反序列化使用jar

    总结来说,使用Jedis操作Redis时,正确处理对象的序列化和反序列化是关键。结合Apache Commons库,我们可以方便地实现这一过程,并充分利用Redis的高性能存储特性。在开发过程中,要根据具体需求选择合适的序列化...

    redis运行环境(UNIX,WINDOWS),对应的jedis jar包

    以下是使用Jedis的一些关键操作示例: 1. 创建Jedis实例:`Jedis jedis = new Jedis("localhost", 6379);` 2. 设置键值对:`jedis.set("key", "value");` 3. 获取键对应的值:`String value = jedis.get("key");` 4....

    jedis-jedis-3.2.0.tar.gz

    Jedis作为Redis的Java客户端,提供了丰富的API来操作Redis的数据结构,如字符串、哈希、列表、集合、有序集合等,并支持事务、发布订阅、管道等高级特性。 Jedis 3.2.0版本的特性可能包括性能优化、新功能的添加、...

    Redis-x64-3.2.100 Jedis-2.9.0 pool2-2.42例子及jar.rar

    使用这些资源,开发者可以快速地在Java项目中集成Redis,利用Jedis提供的API来执行常见的Redis操作。同时,通过连接池的配置,可以有效地管理资源,避免频繁创建和关闭连接带来的开销,从而提升整体应用的性能。 ...

    jedis-2.9.0.jar和mongo-java-driver-3.0.2.jar

    标题中的"jedis-2.9.0.jar"和"mongo-java-driver-3.0.2.jar"分别代表两个在Java开发中常用的库文件,它们主要用于连接和操作两种不同的数据库系统:Redis和MongoDB。 Jedis是Java语言的一个Redis客户端库,版本...

Global site tag (gtag.js) - Google Analytics