赞了回答2018-08-15
redis 触发过期条件,有2种: 内部根据系统时间定时查询已过期的 key 主动查询这个 key 时会检测是否已过期
赞了文章2018-08-14
前言 之前在 Java-Interview 中提到过秒杀架构的设计,这次基于其中的理论简单实现了一下。 本次采用循序渐进的方式逐步提高性能达到并发秒杀的效果,文章较长请准备好瓜子板凳(liushuizhang😂)。 本文所有涉及的代码: [链接] [链接] 最终架构图: <!--more-->...
发布了文章2016-06-22
如何正确查看Linux机器内存使用情况背景只要工作上涉及到Linux机器,基本上都会有这样一个需求,查看内存使用情况,但是怎么看才正确呢?之前使用的是top命令,一直存在一个误区。
提出了问题2016-06-21
赞了回答2016-06-07
你这个不是redis慢,是多次同步等待网络io慢。 可以考虑使用 mget 和 mset
回答了问题2016-06-07
比如用户数据。数据库有2000w条。活跃用户:redis sortSet里 放两天内(为方便取一天内活跃用户)登录过的用户,登录一次ZADD一次,如set已存在则覆盖其分数(登录时间)。键:login:users,值:分数 时间戳、value userid。设置一个周期任务,比如每天03:00:00点删除s...
赞了回答2016-06-01
引入我一篇很久以前的文章讨论一下redis的过期键删除机制 然后回到你的问题: redis会自动清除过期的key,通过惰性删除和定期删除。 这个是必然的,所有redis有定期删除机制,帮你每隔一段时间对redis数据库进行一次检查,删除里面的过期键 手动清除的话,通过del 等...
回答了问题2016-05-28
我是做微博的,我说说微博的做法。 阅读量,点赞数,单访问限制。都是用redis实现的。然后每天夜里空闲时段同步数据库(按一定规则,分批等)。
赞了文章2016-05-26
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal(Redis作者目前就职)赞助。
赞了问题2016-05-26
赞了回答2016-05-26
个人觉得可以使用Hash来存,比如说用户A,手机号为123,身份证号为456,key可以使用A:手机号或者A:身份证号的形式。 那么可以HSET A:123 phone 123 id 456或者HSET A:456 phone 123 id 456。
关注了问题2016-04-21
回答了问题2016-04-21
两种方式。1、RDB 持久化文件(二进制压缩文件)(默认开启),RDB执行持久化时会阻塞redis线程。 2、AOF 持久化写命令(开启后 比RDB优先)。
回答了问题2016-04-21
也可以不用分表。mysql5.5之后可以尝试下分区,按月分区或按年分区都可以。
赞了回答2016-04-21
如果是多对多结构的,如:T恤可属于上衣分类,也可属于夏装分类,此类结构,可以在分类表外多建一张关系表,用于表示多对多的关系,分类元数据仍然可以只使用一张表表示,不需要父ID字段,但在做Redis缓存设计时,稍微麻烦一点
回答了问题2016-04-21
redis即可, 定期同步数据库(如果需要的话) 按时间比较方便。可以考虑 Jedis 的方法: public Set<String> keys(final String pattern) { {代码...} }
回答了问题2016-04-21
token不建议 硬编码到js代码中,建议 写到一个hidden域中。然后js再取值。
回答了问题2016-04-21
300w键值对 按键值都为8字节大概有48MB左右。一次HGETALL, redis io压力不小。
回答了问题2016-04-21
redis 集合就行。
赞了文章2016-04-20
Java NIO(New IO)是一个可以替代标准Java IO API的IO API(从Java 1.4开始),Java NIO提供了与标准IO不同的IO工作方式。