微擎 Redis开启,高并发测试

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 微擎 Redis开启,高并发测试

1、宝塔安装

软件管理-PHP-设置-安装扩展-redis

2、微擎配置

文件:data/config.php

$config['setting']['cache'] = 'redis'; [35行左右] 缓存改为redis。

最下面加上

// -------------------------- CONFIG REDIS --------------------------- //

$config['setting']['redis']['server'] = '127.0.0.1';//如果redis服务器在别的机器,请填写机器的IP地址。

$config['setting']['redis']['port'] = 6379;

$config['setting']['redis']['pconnect'] = 0;

$config['setting']['redis']['timeout'] = 1;

$config['setting']['redis']['auth'] = 'iwonmo'; //微擎

$config['setting']['redis']['requirepass'] = 'iwonmo';//人人用这个

auth 配置需要到redis的配置文档里进行配置,在微擎里如上定义只是方便引用。

3、更新微擎缓存

微擎后台-系统-更新缓存

4、查看是否开启成功

微擎后台-站点-性能优化

5、测试代码

public function build_sn(){
$yCode = array``(``'A'``, 'B'``, 'C'``, 'D'``, 'E'``, 'F'``, 'G'``, 'H'``, 'I'``, 'J'``);
$orderSn = $yCode``[rand(0,9)] . strtoupper``(``dechex``(``date``(``'m'``))) . date``(``'d'``) . substr``(time(), -5) . substr``(microtime(), 2, 5) . sprintf(``'%02d'``, rand(0, 99));
return $orderSn``;
}
public function doPageRedis_setRedPack(){
global $_W``;
$redisConfig = $_W``[``"config"``][``'setting'``][``'redis'``];
$redis = new Redis();
$redis``->pconnect(``$redisConfig``[``'server'``], $redisConfig``[``'port'``],``$redisConfig``[``'timeout'``]);
// 随机一个红包Key
$key = $this``->build_sn();
for (``$i = 1; $i <= 10; $i``++)
{
$redis``->lpush(``$key``, $i``);
}
// 写入到数据库
$RedPack_data = array``(
'num' => 10,
);
$result = pdo_insert(``'redis_test'``, $RedPack_data``);
// 返回前端信息 - 抢红包
if (!``empty``(``$result``)) {
echo "id:"``.pdo_insertid().``" RadKey:"``.``$key``;
}``else``{
echo "RadPack:Error"``;
}
}
public function doPageRedis_test(){
global $_W``,``$_GPC``;
$redisConfig = $_W``[``"config"``][``'setting'``][``'redis'``];
$redis = new Redis();
$redis``->pconnect(``$redisConfig``[``'server'``], $redisConfig``[``'port'``],``$redisConfig``[``'timeout'``]);
// 返回列表的长度 key 被解释为一个空列表,返回 0
if``(``$redis``->llen(``$_GPC``[``'RadKey'``]) == 0) return $this``->result(``$errno = 0, $message = 'No Pack'``);
// 移除并返回列表的第一个元素
$List = $redis``->lpop(``$_GPC``[``'RadKey'``]);
if``(``intval``(``$List``) > 0){
$result = pdo_update(``'redis_test'``, array``(``'num' => $List``-1), array``(``'id' => $_GPC``[``'id'``]));
if (!``empty``(``$result``)) return $this``->result(``$errno = 0, $message = 'Get Ok:'``.``$List``); else return $this``->result(``$errno = 0, $message = 'Get Error:'``.``$List``);
}``else
return $this``->result(``$errno = 1, $message = 'Error:High incidence of complications'``,``'llen(RadKey) == 0'``);
}

生成红包:Redis_setRedPack

拆开红包:Redis_test

POST:id=[红包ID]&RadKey=[RdisListKey]

使用:访问Redis_setRedPack创建红包,会返回ID和RdisListKey。继而访问Redis_test拆开红包。


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
目录
相关文章
|
3月前
|
缓存 NoSQL 算法
高并发秒杀系统实战(Redis+Lua分布式锁防超卖与库存扣减优化)
秒杀系统面临瞬时高并发、资源竞争和数据一致性挑战。传统方案如数据库锁或应用层锁存在性能瓶颈或分布式问题,而基于Redis的分布式锁与Lua脚本原子操作成为高效解决方案。通过Redis的`SETNX`实现分布式锁,结合Lua脚本完成库存扣减,确保操作原子性并大幅提升性能(QPS从120提升至8,200)。此外,分段库存策略、多级限流及服务降级机制进一步优化系统稳定性。最佳实践包括分层防控、黄金扣减法则与容灾设计,强调根据业务特性灵活组合技术手段以应对高并发场景。
821 7
|
4月前
|
NoSQL 算法 安全
redis分布式锁在高并发场景下的方案设计与性能提升
本文探讨了Redis分布式锁在主从架构下失效的问题及其解决方案。首先通过CAP理论分析,Redis遵循AP原则,导致锁可能失效。针对此问题,提出两种解决方案:Zookeeper分布式锁(追求CP一致性)和Redlock算法(基于多个Redis实例提升可靠性)。文章还讨论了可能遇到的“坑”,如加从节点引发超卖问题、建议Redis节点数为奇数以及持久化策略对锁的影响。最后,从性能优化角度出发,介绍了减少锁粒度和分段锁的策略,并结合实际场景(如下单重复提交、支付与取消订单冲突)展示了分布式锁的应用方法。
285 3
|
8月前
|
缓存 NoSQL 架构师
Redis批量查询的四种技巧,应对高并发场景的利器!
在高并发场景下,巧妙地利用缓存批量查询技巧能够显著提高系统性能。 在笔者看来,熟练掌握细粒度的缓存使用是每位架构师必备的技能。因此,在本文中,我们将深入探讨 Redis 中批量查询的一些技巧,希望能够给你带来一些启发。
620 23
Redis批量查询的四种技巧,应对高并发场景的利器!
|
8月前
|
存储 缓存 NoSQL
云端问道21期方案教学-应对高并发,利用云数据库 Tair(兼容 Redis®*)缓存实现极速响应
云端问道21期方案教学-应对高并发,利用云数据库 Tair(兼容 Redis®*)缓存实现极速响应
206 1
|
8月前
|
缓存 NoSQL 关系型数据库
云端问道21期实操教学-应对高并发,利用云数据库 Tair(兼容 Redis®)缓存实现极速响应
本文介绍了如何通过云端问道21期实操教学,利用云数据库 Tair(兼容 Redis®)缓存实现高并发场景下的极速响应。主要内容分为四部分:方案概览、部署准备、一键部署和完成及清理。方案概览中,展示了如何使用 Redis 提升业务性能,降低响应时间;部署准备介绍了账号注册与充值步骤;一键部署详细讲解了创建 ECS、RDS 和 Redis 实例的过程;最后,通过对比测试验证了 Redis 缓存的有效性,并指导用户清理资源以避免额外费用。
146 1
|
10月前
|
消息中间件 缓存 NoSQL
Redis 高并发竞争 key ,如何解决这个难点?
本文主要探讨 Redis 在高并发场景下的并发竞争 Key 问题,以及较为常用的两种解决方案(分布式锁+时间戳、利用消息队列)。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
Redis 高并发竞争 key ,如何解决这个难点?
|
10月前
|
缓存 NoSQL 中间件
redis高并发缓存中间件总结!
本文档详细介绍了高并发缓存中间件Redis的原理、高级操作及其在电商架构中的应用。通过阿里云的角度,分析了Redis与架构的关系,并展示了无Redis和使用Redis缓存的架构图。文档还涵盖了Redis的基本特性、应用场景、安装部署步骤、配置文件详解、启动和关闭方法、systemctl管理脚本的生成以及日志警告处理等内容。适合初学者和有一定经验的技术人员参考学习。
712 7
|
11月前
|
NoSQL 测试技术 Redis
Redis 性能测试
10月更文挑战第21天
214 2
|
11月前
|
存储 NoSQL 大数据
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
125 3
|
监控 算法 Java
企业应用面临高并发等挑战,优化Java后台系统性能至关重要
随着互联网技术的发展,企业应用面临高并发等挑战,优化Java后台系统性能至关重要。本文提供三大技巧:1)优化JVM,如选用合适版本(如OpenJDK 11)、调整参数(如使用G1垃圾收集器)及监控性能;2)优化代码与算法,减少对象创建、合理使用集合及采用高效算法(如快速排序);3)数据库优化,包括索引、查询及分页策略改进,全面提升系统效能。
146 0

热门文章

最新文章