《Redis应用实例》Java实现(5-6):自增数字ID和计数器

原书第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 修改成员的分数
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值