应用场景:redis中存储了set集合,数据是万级别,最高2万数据,现在需要删除这个set集合,并且防止删除过程中,cpu突然增加,影响其他服务。
解决办法有三种:
1.为set集合设置过期时间,依赖redis定时器删除
2.重置set集合并设置过期时间,依赖redis定时器删除
3.直接删除set集合
笔者使用的是jedis作为开发工具。
/**
* redis操作set集合测试
*
* @author: fengyantao
* @date: 2019/12/5 上午11:58
* @version: V1.0
* @review: fengyantao/2019/12/5 上午11:58
*/
public class RedisTest extends BaseJunit4Test {
/** redis的key标识 */
private static final String BUSI_CODE = "fengyantao";
/** redis 价格计划推送标识 */
private static final String REDIS_KEY = "test-set";
@Resource
private RedisCacheBean redisCacheBean;
/**
* redis新增 set集合
*/
@Test
public void test() {
String[] arr = new String[100000];
fo
在Redis中处理十万级别的Set集合删除问题,对比了三种方法:设置过期时间、重置并设置过期时间、直接删除。在1万数据量时,设置过期时间和重置设置过期时间的方法表现较优;在10万数据量时,直接删除在耗时上更短,效率更高。测试使用的是Jedis工具。
订阅专栏 解锁全文
1万+

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



