摘要:
一、模型 二、主要API 1.publish(发布命令) 2.subcribe(订阅) 3.取消订阅(unsubcribe) 4.其他API 三、消息队列功能 redis实现消息队列功能 应用场景:抢红包 阅读全文
摘要:
阅读全文
摘要:
List转换为Array可以这样处理: ArrayList<String> list=new ArrayList<String>(); String[] strings = new String[list.size()]; list.toArray(strings); 反过来,如果要将数组转成Lis 阅读全文
摘要:
package cn.com.utils; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; import org.springframework.expression.Pa... 阅读全文
摘要:
一、回忆通信模型 二、流水线 1.什么是流水线 2.pipeline-Jedis实现 3.与原生M(mget,mset等)操作对比 M操作是原子操作 pipeline命令是非原子的,Redis服务器会对其命令集进行拆分。 三、使用建议 阅读全文
摘要:
一.慢查询日志 慢查询日志帮助开发和运维人员定位系统存在的慢操作。慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阀值,就将这条命令的相关信息(慢查询ID,发生时间戳,耗时,命令的详细信息)记录下来。Redis客户端一条名利分为如下四部分执行: 说明:①慢查询日志只是统计步骤3)执 阅读全文
摘要:
1.pom文件 2.Redis.xml文件 3.Redis配置文件 redis.properties 4.创建拦截器 5.Redis工具类 阅读全文
摘要:
一、数据结构 集合与有序集合,列表与有序集合的对比 二、主要API zadd 将一个或多个 member 元素及其 score 值加入到有序集 key 当中。 zrem 移除有序集 key 中的一个或多个成员,不存在的成员将被忽略。 zscore 返回有序集 key 中,成员 member 的 sc 阅读全文
摘要:
一、结构 特点:无序,无重复,支持集合间操作 二、主要API smembers : 无序;(会阻塞)小心使用,可用sscan代替 spop: 从集合中弹出元素,每次只能弹出一个; 三、实战 抽奖系统 -spop -srandmember 喜欢、赞、踩 Redis实现开发者头条页面点赞功能 给用户添加 阅读全文
摘要:
String...和String[]区别 java中可变长参数的使用方法 深入了解JAVA可变长度的参数(Varargs) 阅读全文
摘要:
查询一段时间内每天的数据,按天将数据封装进行封存,同一天的数据封装成list,如何实现呢? 抽象成一对多的关系,即同一天对应多条数据,同一天必须保证是同一条数据。 这里的a.id 不可省略,只有加上才能表示同一天是同一条数据。 阅读全文
摘要:
SpringMVC在使用Jackson2时关于日期类型格式化的问题 如果无效,那么使用 @DateTimeFormat(pattern = "yyyy-MM-dd") 阅读全文
摘要:
一、结构 key - value 结构,value是一个有序队列。 可进行左边的添加及弹出,右边的添加及弹出。 可获取列表的长度,删除列表中指定元素,获取列表的子列表,按照索引获取列表的指定元素。 特点:列表有序、可重复、左右两边插入弹出。 二、主要API RPUSH :将一个或多个值 value 阅读全文
摘要:
从LongAdder看更高效的无锁实现 AtomicIntegerFieldUpdater字段原子更新类 阅读全文
摘要:
一、结构 Mapmap结构; filed 不能相同,value可以相同。 二、重要指令 ♦️ HSET ♦️ HGET ♦️ HDEL ♦️ Hlen ♦️ HEXISTS ♦️HGETALL ♦️HVALS ♦️HKEYS 使用hgetall注意:数据多的时候,获取很慢! 其他命令: ♦️ hse 阅读全文
摘要:
CAS虽然很高效的解决原子操作,但是CAS仍然存在三大问题。ABA问题,循环时间长开销大和只能保证一个共享变量的原子操作 1. ABA问题。因为CAS需要在操作值的时候检查下值有没有发生变化,如果没有发生变化则更新,但是如果一个值原来是A,变成了B,又变成了A,那么使用CAS进行检查时会发现它的值没 阅读全文
摘要:
在 MySQL 中,插入(insert)一条记录很简单,但是一些特殊应用,在插入记录前,需要检查这条记录是否已经存在,只有当记录不存在时才执行插入操作,本文介绍的就是这个问题的解决方案。 问题:我创建了一个表来存放客户信息,我知道可以用 insert 语句插入信息到表中,但是怎么样才能保证不会插入重 阅读全文
摘要:
一、结构和命令 1.字符串键值结构 key是字符串,value可以是字符串、数字、二进制、json等; redis的key和string类型value限制均为512MB。 2.使用场景 ♦️ 缓存 ♦️ 计数器 ♦️ 分布式锁 3.命令 ♦️ get ♦️ set ♦️ del ♦️ incr ♦️ 阅读全文