随笔分类 - redis
摘要:现在用redis缓存热数据越来越常见了,甚至一些配置,开关等等的东西也写到redis里。原因就是redis简单高效。redis里的数据也越来越重要了,例如一些业务的中间数据会暂时存放在redis里,所以限制redis的访问还是很有必要。 本文通过几个手段说一下生产环境中redis的访问权限控制。 1
阅读全文
摘要:硬件环境 本文适用的硬件环境如下 Redis已经成功安装,安装路径为/home/idata/yangfan/local/redis-3.2.1。 我们要在单台机器上搭建Redis集群,方式是通过不同的TCP端口启动多个实例,然后组成集群。 1、启动Redis多个实例 我们在Redis安装目录下创建目
阅读全文
摘要:1. 需求 2. 分析 考虑到只是简单的记录用户是否登录,记录数据比较单一,查询需要精确到天。以百万用户量为前提,前期考虑了几个方案 2.1 使用文件 使用单文件存储:文件占用空间增长速度快,海量数据检索不方便,Map/Reduce操作也麻烦 使用多文件存储:按日期对文件进行分割。每天记录当天日志,
阅读全文
摘要:一台服务器上都快开启200个redis实例了,看着就崩溃了。这么做无非就是想让不同类型的数据属于不同的应用程序而彼此分开。 那么,redis有没有什么方法使不同的应用程序数据彼此分开同时又存储在相同的实例上呢?就相当于mysql数据库,不同的应用程序数据存储在不同的数据库下。 redis下,数据库是
阅读全文
摘要:在学习Redis的常用操作时,经常看到介绍说,Redis的set、get以及hset等等命令的执行都是原子性的,但是令自己百思不得其解的是,为什么这些操作是原子性的? 原子性 原子性是数据库的事务中的特性。在数据库事务的情景下,原子性指的是:一个事务(transaction)中的所有操作,要么全部完
阅读全文
摘要:ps:只有按钮 没有秒杀 还在做 一个小小的按钮 花了我一个下午的时间 自己水平还是太次啊 直接贴代码html> html lang="en"> head> meta charset="UTF-8"> </title> script> head> body> br> input type="butt
阅读全文
摘要:Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。 Redis列表命令 参考:http://www.redis.net.cn/tutorial/3501.html 使用场景 String String数
阅读全文
摘要:PHP 使用redis实现秒杀 使用redis队列,因为pop操作是原子的,即使有很多用户同时到达,也是依次执行,推荐使用(mysql事务在高并发下性能下降很厉害,文件锁的方式也是) 先将商品库存如队列 <?php $store=1000; $redis=new Redis(); $result=$
阅读全文
摘要:抢购、秒杀是如今很常见的一个应用场景,主要需要解决的问题有两个: 1 高并发对数据库产生的压力 2 竞争状态下如何解决库存的正确减少("超卖"问题) 对于第一个问题,已经很容易想到用缓存来处理抢购,避免直接操作数据库,例如使用Redis。 重点在于第二个问题 常规写法: 查询出对应商品的库存,看是否
阅读全文
摘要:一、Redis介绍 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括string、list、set、zset和hash。这些数据类型都支持push/pop、add
阅读全文
摘要:用Redis轻松实现秒杀系统 秒杀系统的架构设计 秒杀系统,是典型的短时大量突发访问类问题。对这类问题,有三种优化性能的思路: 写入内存而不是写入硬盘 异步处理而不是同步处理 分布式处理 用上这三招,不论秒杀时负载多大,都能轻松应对。更好的是,Redis能够满足上述三点。因此,用Redis就能轻松实
阅读全文