微擎 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``[``'port'``],``redisConfig``[``'timeout'``]);
// 随机一个红包Key
key = this``->build_sn();
for (``i = 1; i <= 10;
{
redis``->lpush(``
}
// 写入到数据库
$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``[``'port'``],``redisConfig``[``'timeout'``]);
// 返回列表的长度 key 被解释为一个空列表,返回 0
if``(``redis``->llen(``this``->result(``
// 移除并返回列表的第一个元素
List = redis``->lpop(``
if``(``intval``(``$List``) > 0){
result = pdo_update(``'redis_test'``, array``(``'num' =>
if (!``empty``(``result``)) return this``->result(``errno = 0, message = 'Get Ok:'``.``List``); else return this``->result(``errno = 0, message = 'Get Error:'``.``
}``else
return this``->result(``
}
生成红包:Redis_setRedPack
拆开红包:Redis_test
POST:id=[红包ID]&RadKey=[RdisListKey]
使用:访问Redis_setRedPack创建红包,会返回ID和RdisListKey。继而访问Redis_test拆开红包。
相关文章
- c语言中如何计算数组长度
- 如何使用mysql查询where条件里的or和and
- 【ASP.NET Core】EF Core - “影子属性”
- 如何用python list删除指定元素?
- 【ASP.NET Core】EF Core 模型与数据库的创建
- 如何处理单元测试中的请求?
- 【.net 深呼吸】连接Access数据库应注意的几点
- 【Win 10 应用开发】Sqlite 数据库的简单用法
- 【Win 10 应用开发】通过数据绑定更新进度条
- 【Win 10 应用开发】UDP广播
- 【Win 10应用开发】延迟共享
- 【Win 10 应用开发】共享目标(UWP)
- 金融/语音/音频处理学术速递[11.24]
- 计算照片的面积(UWP篇)
- 【Win 10应用开发】分阶段进行数据绑定
- 【Win10 应用开发】实现数据的增量加载
- Mysql基础入门知识点总结笔记
- TCP/IP四层模型对比OSI七层网络模型的区别是啥?数据传输过程原来是这样的!
- 【Win10应用开发】签名与验证
- BT × IT | 如何利用神经网络做空间转录组分析?