![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
文章平均质量分 56
瞧着不像好人呐
这个作者很懒,什么都没留下…
展开
-
redis做同步或异步队列
redis实现队列主要是使用数据结构中的list,相当于Java中的ArrayList因为它是按照塞入顺序排序的结构,我们就可以按照左边塞入,右边取出的方式来实现先入先出的队列需求。public void rpush(String key, String value) { Jedis jedis = null; try { jedis = jedisPool.getResource(); jedis.rpush(key,val原创 2021-09-12 00:38:20 · 472 阅读 · 0 评论 -
Redis做分布式锁
什么是分布式锁?与分布式锁相对应的是线程锁、进程锁。线程锁:它主要是给方法、代码块加锁。当某个方法或代码使用锁,在同一时刻仅有一个线程执行该方法或该代码段。线程锁只在同一JVM中有效果,因为线程锁的实现在根本上是依靠线程之间共享内存实现的,比如synchronized和Lock。synchronized是java中的一个关键字,也就是说是Java语言内置的特性。Lock不是Java语言内置的,Lock是一个类。synchronized不需要用户去手动释放锁。而Lock则必须要用户去手动释放锁。进程锁:原创 2021-09-11 00:54:05 · 64 阅读 · 0 评论 -
Redisson做分布式锁+整合springboot
Redisson支持redis单实例、redis哨兵、redis cluster、redis master-slave等各种部署架构。具体的可以参照官方文档:Redisson官方文档高效分布式锁要考虑:1.互斥性,同一时刻,只能有一个客户端持有锁。2.防止死锁发生,如果持有锁的客户端崩溃没有主动释放锁,也要保证锁可以正常释放及其他客户端可以正常加锁。3.加锁和释放锁必须是同一个客户端。4.容错性,只有redis还有节点存活,就可以进行正常的加锁解锁操作。5.性能对于访问量大的共享资源,需要考原创 2021-09-11 00:53:26 · 154 阅读 · 0 评论 -
redis生成唯一id(订单号)
公司现在有个需求:需要生成一个唯一的16位的订单号,订单号的规则是:一共是16位的数字,前面8位是日期比如2021年09月01就是20210901,后面8位是随机数且不能是自增的,不然容易让人看出一天的单量。...原创 2021-09-08 19:02:44 · 2697 阅读 · 0 评论 -
springboot整合redis(yml&jedis&集群)
代码实现pom文件:<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.7.2</version> </dependency>yml文件spring: redis: ## Redis数据库索引(默认为0) database原创 2021-09-05 22:02:04 · 1042 阅读 · 0 评论 -
redis做浏览历史数据
想起之前做过一个需求,在搜索框下有个查询的历史数据,当时就用redis做了个查询历史记录保存。相信大家看到的这种情形也很常见。开撸保存查询的记录:public Boolean saveHistory(String code, String serchName) { //设置redis的key,比如3333这些都可以,serchName为搜索的关键词 String saveKey=HISTORY+code; try { agentRestfulRedisClient.Lrem(sav原创 2021-08-25 11:13:11 · 1586 阅读 · 2 评论