原书第5章和第6章,功能比较简单,把代码放在一起了。
核心点是使用jedis.incr、jedis.incrBy。
package com.foxbill.redisinaction;
import redis.clients.jedis.Jedis;
/**
* 第5,6章自增长和计数,功能比较简单,就合并在一起了
*/
public class Chapter56 {
public static void start(Jedis jedis) {
autoIncrId(jedis);
counter(jedis);
}
/*自增长id*/
private static void autoIncrId(Jedis jedis) {
jedis.setnx("postID", "1000000" );
//加1
jedis.incr("postID");
String postID = jedis.get("postID");
System.out.println("postID: " + postID);
}
/*计数*/
private static void counter(Jedis jedis) {
//设置初始值
jedis.hsetnx("user:1111","login_ounter", "0" );
//数量相加
jedis.hincrBy("user:1111","login_ounter", 2 );
//计数
String counter = jedis.hget("user:1111","login_ounter");
System.out.println("counter: " + counter);
}
}
📌 小结
可通过使用jedis.incr、jedis.incrBy来完成原子递增操作。
📌 延伸
下列数据类型支持incr,incrBy相关的函数:
1. String(字符串)
支持 incr、incrBy、incrByFloat 等原子递增操作。
2. hash
支持hincrBy、hincrByFloat
3. Sorted Set
Sorted Set 本身不直接支持 INCR 操作,但可以通过 zincrby 修改成员的分数
627

被折叠的 条评论
为什么被折叠?



