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集合
*/
总结完毕!
相关推荐
java操作redis代码示例 ,注释,Jedis的api操作注释详细。
jedis通过JedisSentinelPool获取jedis操作redis,通过配置sentienl,获取sentinel连接池,通过sentinel,获取jedis信息
Jedis操作Redis的案例,主要涉及MyBatis持久层框架、Jedis工具类、Servlet、JSP页面等技术
此java类配置redis的ip,port,超时时间,获取jedis,然后通过jedis操作string,list,hash,set,zset等数据结构的实例,展示怎么调用jedisAPI
通过Jedis操作Redis中定义的5中数据类型
Java通过Jedis操作Redis,演示Redis基本数据类型,主从复制,事务。
Jedis 操作Redis 集群demo,仅作参考
jedis jar包; 版本:2.0 2.1
jedis-2.9.0.jar jedis-2.9.0 jar 包,不包含源码,源码下载地址: http://download.csdn.net/download/tan3739/9993938 测试代码: 导入依赖包: commons-lang-2.5.jar commons-pool2-2.4.2.jar jedis-2.9.0 jar ...
jedis依赖jar包, jedis-2.7.0.jar
jedis相关jar包:commons-pool2-2.3.jar、jedis-2.7.0.jar
jedis.jar(java操作redis依赖)
NULL 博文链接:https://fxzcollege6.iteye.com/blog/2211127
Redis高可用集群Java(jedis客户端)操作源码
使用redisson替代jedis中的的对应方法,以及对应的redis的命令在这三方中对应查询及操作,
jedis-jedis-2.7.2缓存技术应用
jedis jedis
Jedis 是 Redis 官方首选的 Java 客户端开发包。 实例方法: ? 1 import redis.clients.jedis.* ? 1 2 3 Jedis jedis = new Jedis("localhost"); jedis.set("foo", "bar"); String value = jedis.get("foo"); 支持...
解决redis集群模式下,jedis不能批量操作问题..............................................................................
jedis源码 (学习jedis必备,附带测试用例)