Java语言中使用redis的api(V1.0)
创建jedis对象
//exp1
Jedis conn = new Jedis("localhost");
conn.select(15);
//exp2
Jedis conn = new Jedis("localhost",15);
键操作
|
操作 |
具体函数 |
1 |
清空数据 |
Jedis.flushDB() |
2 |
判断某个键值是否存在 |
Boolean jedis.exists(String key) |
3 |
新增键值为(key,value) |
Jedis.set(String key,String value) |
4 |
获取所有key |
Set<String> jedis.keys(“*”) |
5 |
删除键为key的数据项 |
Jedis.del(String key) |
6 |
设置键为key的过期时间为i(秒) |
Jedis.expire(String key,int i) |
7 |
设置键为key的剩余生存时间(秒) |
Int Jedis.ttl(String key) |
8 |
移除键为key属性项的生存时间限制 |
Jedis.persist(String key) |
9 |
查看键为key所对应value的数据类型 |
Jedis.type(String key) |
字符串(String)操作
|
操作 |
具体函数 |
1 |
增加/覆盖数据项 |
Jedis.set(String key,String value) |
2 |
不覆盖增加数据项 |
jedis.setnx(String key,String value) |
3 |
增加数据项并设置有效时间 |
Jedis.setex(String key,int i,String value) |
4 |
删除键为key的数据项 |
Jedis.del(String key) |
5 |
获取键为key对应的value |
Jedis.get(String key) |
6 |
在key对应value后面扩展字符串s |
Jedis.append(String key,String s) |
7 |
增加多个key对应value |
Jedis.mset(String k1,String v1,…) |
8 |
获取多个key对应value |
String[] jedis.mget(String k1,String k2,..) |
9 |
删除多个key对应数据项 |
Jedis.del(New String{String k1,String v1,…}) |
10 |
获取key对应value并更新value |
String jedis.getSet(String key,String value) |
11 |
获取key对应value第i到j字符 |
String jedis.getrange(String key,int i,String j) |
整数与浮点数操作
|
操作 |
具体函数 |
1 |
增加/覆盖数据项 |
Jedis.set(String key,String value) |
2 |
获取键为key对应的value |
Jedis.get(String key) |
3 |
将key对应的value自加1 |
Jedis.incr(String key) |
4 |
将key对应的value自加n |
Jedis.incrBy(String key,int n) |
5 |
将key对应的value自减1 |
Jedis.decr(String key) |
6 |
将key对应的value自减n |
Jedis.decrBy(String key,int n) |
列表(List)操作
|
操作 |
具体函数 |
1 |
添加一个List |
Jedis.lpush(String key,String v1,String v2,…) |
2 |
往key对应List左插入一个元素Vn |
Jedis.lpush(String key,String Vn) |
3 |
获取key对应List区间[i,j]的元素 |
Jedis.lrange(String key,int i,int j) |
4 |
删除指定元素val个数num |
Jedis.lrem(String key,int num,String val) |
5 |
删除list区间[i,j]之外的元素 |
Jedis.ltrim(String key,int i,int j) |
6 |
key对应list左出栈一个元素 |
Jedis.lpop(String key,int n) |
7 |
Key对应list右插入一个元素 |
Jedis.rpush(String key,int n) |
8 |
Key对应list右出栈一个元素 |
Jedis.rpop(String key) |
9 |
修改key对应list指定下标index的元素 |
Jedis.lset(String key,int index,String val) |
10 |
获取key对应list的长度 |
Jedis.llen(String key) |
11 |
获取key对应list下标为index的元素 |
Jedis.index(String key,int index) |
12 |
把key对应list里面的元素从小到大排序 |
Jedis.sort(String key) |
集合(Set)操作
|
操作 |
具体函数 |
1 |
添加一个Set |
Jedis.sadd(String key,String v1,String v2,…) |
2 |
往key对应set的所有元素 |
Jedis.smember(String key) |
3 |
删除一个值为val的元素 |
Jedis.srem(String key,String val) |
4 |
删除值为v1,v2,….的元素 |
Jedis.srem(String key,String v1,String v2,…) |
5 |
随机出栈set里的一个元素 |
Jedis.spop(String key) |
6 |
获取set中元素的个数 |
Jedis.scard(String key) |
7 |
将元素val从集合k1剪切到k2 |
Jedis.smove(String k1,String k2,String val) |
8 |
获取集合k1和集合k2的交集 |
Jedis.sinter(String k1,String k2) |
9 |
获取集合k1和集合k2的交集 |
Jedis.sunion(String k1,String k2) |
10 |
获取集合k1和集合k2的差集 |
Jedis.sdiff(String k1,String k2) |
哈希(Hash)操作
|
操作 |
具体函数 |
1 |
添加一个Hash |
Jedis.hmset(String key,Map map) |
2 |
往hash插入一个元素(k-V) |
jedis.hset(String key,String key,String value) |
3 |
获取Hash的所有(k-v)元素 |
Jedis.hgetAll(String key) |
4 |
获取Hash的所有元素的key |
Jedis.hkeys(String key) |
5 |
获取Hash的所有元素的value |
Jedis.hvals(String key) |
6 |
把hash中k对应元素val+=i |
Jedis. hincrBy(String key,String k,int i) |
7 |
把hash中k对应元素val-=i |
Jedis. hdecrBy(String key,String k,int i) |
8 |
从hash删除一个或多个元素 |
Jedis. hdel(String key,String k1,String k2,…) |
9 |
获取hash中元素各式各样 |
Jedis. hlen(String key |
10 |
判断hash是否存在k1对应元素 |
Jedis. hexists(String key,String k1) |
11 |
获取hash中一个或多个元素value |
Jedis. hmget(String key,String k1,String k2,…) |
12 |
获取Hash中给定key中的某个值 |
Jdeis.hget(String key,String elem) |
有序集合(ZSet)操作
|
操作 |
具体函数 |
1 |
添加一个Zset |
Jedis.zadd(String key,Map map) |
2 |
往Zet插入一个元素(Score-Val) |
jedis.hset(String key,int score,String val) |
3 |
获取Zset里下标[i,j]区间元素val |
Jedis.zrange(String key,int i,int j) |
4 |
获取Zset里下标[i,j]区间元素(Score-Val) |
Jedis.zrangeWithScore(String key,int i,int j) |
5 |
获取Zset里面score[i,j]区间元素val |
Jedis.zrangeByScore(String key,int i,int j) |
6 |
获取Zset里面score[i,j]区间元素(Score-Val) |
Jedis. zrangeByScoreWithScores(String key,int i,int j) |
7 |
获取Zset里val为value元素的score |
Jedis.zscore(String key,String value) |
8 |
获取Zset里val为value元素的score排名 |
Jedis.zrank(String key,String value) |
9 |
获取Zset里val为value的元素 |
Jedis.zrem(String key,String value) |
10 |
获取Zset的元素个数 |
Jedis.zcard(String key) |
11 |
获取Zset中score在[i,j]区间元素个数 |
Jedis.zcount(String key,int i,int j) |
12 |
把ZSet中val为value的元素score += n |
Jedis.zincrby(String key,int n,String value) |
13 |
获取Zset里下标[i,j]区间元素val(倒序输出) |
Jedis.zrevrange(String key,int start,int end) |
排序操作
|
操作 |
具体函数 |
1 |
生成一个排序对象(SortingParams) |
New SortingParams() |
2 |
队列按首字母a-z排序 |
Jedis.sort(String key,sortingParams.alpha()) |
3 |
队列按数字升序排序 |
Jedis.sort(String key,sortingParams.asc()) |
4 |
队列按数字降序排序 |
Jedis.sort(String key,sortingParams.desc()) |
Jedis. Zinterstore使用方法:
ZParams params = new ZParams().aggregate(ZParams.Aggregate.MAX);
conn.zinterstore(key,params,"group:"+group,order);
对集合groups:programming和有序集合score:进行交集计算得出新的有序集合Score:programming,它包含了所有同时存在于集合groups:programming和score:的成员。因为集合groups:programming的所有成员都是的分值都被视为是1,而有序集合score:的所有成员的分值都大于1,并且这次交集计算挑选的分值为相同成员的最大分值,所以有序集合Score:programming的成员分支实际上是由score:的成员的分值来决定的。