redis

redis 常用场景-慢慢完善中

获取最新插入的100记录 # 最新文、最新图片等等会使用到 # 聊天室的默认加载内容比较适合使用// 链接Redis $redis = new Redis(); $redis->connect('127.0.0.1', 6379);// push数据 if($_GET['redis'] == 'push'){for($i=1; $ilPush('testKey', $i.'

如何正确的评估redis过期时间

业务抽奖 奖品分红包和实物 每个用户只能中一个实物初始代码是这样AwardPool getAwardPool(){ //选择奖品池hasWinRealObject = getUserAwardFromDb(user); //查询数据库判断用户是否中了实物for(Award a : awardList){if(hasWinRealObject && a.getType()=

坑系列 --- 高可用架构的银弹

呵呵,题图是一队困在坑中的鸭子:)作为一个搬砖的,我经常被困着。今天高考,想起15年前的今天(哦,那时候是七月高考),恩,考完了,还不错,然而15年后还是搬砖:)0. 承上启下之前那篇文章写出来以后我就觉得会有很多不同的意见,哈哈,那只代表我个人的意见啊,欢迎讨论。先说说之前那一篇,我举例子举的OA系统,并不是说OA一定要这么设计,只是一种夸张的手法,为了说明后面的完全脱离

PSRedis Eception: ERR unknown command 'ROLE'

最近在做一个 PHP 版的 Redis 高可用方案,用到了 PSRedis,测试第一个 demo 时就遇到报错: ERR unknown command 'ROLE' 也就是 Redis 里没有 role 这个命令。查阅了官方文档,发现 role 这个命令: Available since 2.8.12. 本地 Redis 的版本是: tony@ubuntu:~$ redi

Redis 集群的合纵与连横

之前一篇写了关于 Redis 的性能,这篇就写写我认为比性能更重要的扩展性方面的主题。如果再给我一次回到好几年前的机会,对于使用 Redis 我一开始就要好好考虑将来的扩展问题。就像我们做数据库分库分表,一旦决策了分库分表,通常一次就会分到位,比如搞上 8 或 16 个库,每个库再分 256 或 1024 个表。不管将来业务再怎么发展,基本这个量级的分片都足够应对,而且底层

[游戏服务器]第一章:多人聊天室-服务端

游戏服务器多人房间高并发低延时数据可靠...那么怎么去实现这些功能呢,下面我将会带着大家一起去探寻游戏服务器的奥秘我不是巨人,我只是站在巨人的肩膀上我将会分城多个章节去研究游戏服务器的开发;依旧是 自上而下,由表及内,由浅入深。第一章:解决多人房间问题准备工作新建一个git项目 game-server思考方向多人房间:进入房间的用户,可以感知到该房间内其他的用户,其他用户也

Redis 的持久化

rdb方式rdb是redis对数据进行持久化而保存到硬盘的数据文件。默认情况下相关配置如下:save 900 1save 300 10save 60 10000其意义为:当1个key更新值时每900秒保存一次数据到硬盘当10个key更新值时每300秒保存一次到硬盘当10000个key更新值时每60秒保存一次到硬盘换句话说,当你重启服务器时数据是可能会丢失的,如果数据量小的时

ThinkPHP 3.2 性能优化,实现高性能API开发

需求分析目前的业务全站使用ThinkPHP 3.2.3,前台、后台、Cli、Api等。目前的业务API访问量数千万,后端7台PHP 5.6,平均CPU使用率20%。测试数据真实业务php5.6:500 QPSphp7.0:850 QPS真实业务中减少一次Mysql查询业务或者减少一次Redis读写php5.6:800 QPSphp7.0:1250 QPS目前优化的结果:Th

NuGet 的 StackEchange.Redis 在 Mono 下会有不能连接 Redis 的问题

针对症状: 排除配置问题后,针对同一段代码:从 NuGet 下载 StackExchange.Redis在 Windows 下能连上 Redis在各种下 *nix mono 环境下不能连上 Redis直接结论: StackExchange.Redis 在 mono 下有问题。 (可能的)根本原因: mono 和 .Net 的未知行为差异。 解决方法: 从 github cl

Redis 缓存逐出策略

把 Redis 当做缓存使用时,有时你可以方便的让它在新数据时自动逐出旧数据。这一点大家都比较清楚,因为 memcached 默认也会这么干Redis 仅支持 LRU 逐出策略。下文主要讲述 Redis maxmemory 指令,这个指令用于限定内存使用量,以及讲述了 Redis 使用到的 LRU 算法,这是一种近似LRU算法。maxmemory 配置指令maxmemory