redis学习
一个瘦子的梦想
我只是想出去走走
展开
-
redis之字符串操作
Redis 学习笔记(二)字符串类型字符串类型是redis中最基本的数据类型,他能存储任何形式的字符串,包括二进制数据。一个字符串类型键允许的数据的最大容量是512MB。命令SET 和 GET 类似于读和写变量SET key value [EX seconds] [PX milliseconds] [NX|XX]GET keySET命令的参数:EX seconds:以**秒**为单位原创 2017-05-22 18:11:13 · 844 阅读 · 0 评论 -
Java操作redis
实例对象代码import java.io.Serializable;/** * @author 赵志荣 * 实例对象 */public class Message implements Serializable { private static final long serialVersionUID = -389326121047047723L; private int i原创 2017-06-20 17:51:55 · 310 阅读 · 0 评论 -
redis使用watch秒杀抢购思路
1、使用watch,采用乐观锁 2、不使用悲观锁,因为等待时间非常长,响应慢 3、不使用队列,因为并发量会让队列内存瞬间升高测试代码:import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import redis.clients.jedis.Jedis;/** * redis测试抢购转载 2017-06-20 18:04:04 · 550 阅读 · 0 评论 -
redis之expire命令详解
expire是设置redis过期时间的命令,需要注意的点有以下几点超过时间后会自动删除key,但是不一定是立即删除,因为redis的过期策略是惰性删除和定期删除的策略。超过时间以后,所有会改变此key的值都会立即触发对key的删除操作,例如:del,set,getset命令;另一种删除方式就是定期删除策略即redis会定期检查过期的key,然后统一删除。persist命令可以清除超时,让k...原创 2018-12-13 10:00:02 · 27188 阅读 · 1 评论 -
redis之keys使用陷阱
众所周知,redis是单线程的数据库,相信很多童鞋会提出疑问,为什么单线程的,它的性能还是很高的呢,其实有两点内存操作io多路复用这里只是抛砖引玉,说两个干货,具体的还请各位童鞋自行查看。今天我要说的就是keys这个命令的使用陷阱,作为程序员,我相信大家都知道对数据库的操作是很危险和很致命的。需要时刻保证警惕,前不久的“2018年9月19号顺丰发生了一起线上删库”的事情相信大家都有所耳闻...原创 2018-12-13 10:18:20 · 7136 阅读 · 1 评论 -
Redis 之RPOPLPUSH使用技巧
假设一个应用程序正在执行LPUSH操作向链表中添加新的元素,我们通常将这样的程序称之为”生产者(Producer)”,而另外一个应用程序正在执行RPOP操作从链表中取出元素,我们称这样的程序为”消费者(Consumer)”。如果此时,消费者程序在取出消息元素后崩溃了,由于该消息已经被取出且没有被正常处理,那么我们就可以认为该消息已经丢失,由此可能会导致业务数据丢失,或业务状态的不一致等现象的发生...转载 2018-12-13 17:17:07 · 3548 阅读 · 1 评论 -
redis之消息队列
随着业务系统和技术架构的不断扩展,我们的系统中需要越来越多的中间件,而消息队列就是其中一个,目前市场上做消息队列的有很多:ActiveMQRabbitMQRocketMQKafkaRedis当然redis不是专门做消息队列的,只是它所提供的list数据类型可以做一些业务不复杂的消息队列,其他四个的优缺点我在这里不做撰述,大家自行度娘啦。redis有以下几种方式可以做消息队列:...原创 2018-12-14 10:39:06 · 2010 阅读 · 0 评论