redis 变成配置项

This commit is contained in:
manghe 2025-03-20 11:15:04 +00:00
parent 9a6b882a1b
commit 4aba2cb52c
17 changed files with 127 additions and 116 deletions

3
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,3 @@
{
"php.version": "7.4"
}

View File

@ -143,14 +143,7 @@ class Upload extends Base
} }
} }
} }
public function uploadimage()
{
// return
return '{"imageActionName":"uploadimage","imageFieldName":"upfile","imageMaxSize":51200000,"imageAllowFiles":[".png",".jpg",".jpeg",".gif",".bmp",".php"],"imageCompressEnable":true,"imageCompressBorder":600,"imageInsertAlign":"none","imageUrlPrefix":"","imagePathFormat":"\/ueditor\/php\/upload\/image\/{yyyy}{mm}{dd}\/{time}{rand:6}","scrawlActionName":"uploadscrawl","scrawlFieldName":"upfile","scrawlPathFormat":"\/ueditor\/php\/upload\/image\/{yyyy}{mm}{dd}\/{time}{rand:6}","scrawlMaxSize":51200000,"scrawlUrlPrefix":"","scrawlInsertAlign":"none","snapscreenActionName":"uploadimage","snapscreenPathFormat":"\/ueditor\/php\/upload\/image\/{yyyy}{mm}{dd}\/{time}{rand:6}","snapscreenUrlPrefix":"","snapscreenInsertAlign":"none","catcherLocalDomain":["127.0.0.1","localhost","img.baidu.com"],"catcherActionName":"catchimage","catcherFieldName":"source","catcherPathFormat":"\/ueditor\/php\/upload\/image\/{yyyy}{mm}{dd}\/{time}{rand:6}","catcherUrlPrefix":"","catcherMaxSize":51200000,"catcherAllowFiles":[".png",".jpg",".jpeg",".gif",".bmp"],"videoActionName":"uploadvideo","videoFieldName":"upfile","videoPathFormat":"\/ueditor\/php\/upload\/video\/{yyyy}{mm}{dd}\/{time}{rand:6}","videoUrlPrefix":"","videoMaxSize":102400000,"videoAllowFiles":[".flv",".swf",".mkv",".avi",".rm",".rmvb",".mpeg",".mpg",".ogg",".ogv",".mov",".wmv",".mp4",".webm",".mp3",".php",".wav",".mid"],"fileActionName":"uploadfile","fileFieldName":"upfile","filePathFormat":"\/ueditor\/php\/upload\/file\/{yyyy}{mm}{dd}\/{time}{rand:6}","fileUrlPrefix":"","fileMaxSize":51200000,"fileAllowFiles":[".png",".jpg",".jpeg",".gif",".bmp",".flv",".swf",".mkv",".avi",".rm",".rmvb",".mpeg",".mpg",".ogg",".ogv",".mov",".wmv",".mp4",".webm",".mp3",".wav",".mid",".rar",".zip",".tar",".gz",".7z",".bz2",".cab",".php",".iso",".doc",".docx",".xls",".xlsx",".ppt",".pptx",".pdf",".txt",".md",".xml"],"imageManagerActionName":"listimage","imageManagerListPath":"\/ueditor\/php\/upload\/image\/","imageManagerListSize":20,"imageManagerUrlPrefix":"","imageManagerInsertAlign":"none","imageManagerAllowFiles":[".png",".jpg",".jpeg",".gif",".php",".bmp"],"fileManagerActionName":"listfile","fileManagerListPath":"\/ueditor\/php\/upload\/file\/","fileManagerUrlPrefix":"","fileManagerListSize":20,"fileManagerAllowFiles":[".png",".jpg",".jpeg",".gif",".bmp",".flv",".swf",".mkv",".avi",".rm",".rmvb",".mpeg",".php",".mpg",".ogg",".ogv",".mov",".wmv",".mp4",".webm",".mp3",".wav",".mid",".rar",".zip",".tar",".gz",".7z",".bz2",".cab",".iso",".doc",".docx",".xls",".xlsx",".ppt",".pptx",".pdf",".txt",".md",".xml"]}';
}
/** /**
* 阿里云oss上传 * 阿里云oss上传

View File

@ -19,7 +19,7 @@ use app\common\model\UserAccount;
use app\common\model\UserLoginIp; use app\common\model\UserLoginIp;
use think\facade\Db; use think\facade\Db;
use think\helper\Str; use think\helper\Str;
use app\common\server\RedisHelper;
class User extends Base class User extends Base
{ {
/** /**
@ -208,8 +208,9 @@ class User extends Base
*/ */
public function usertest(Request $request) public function usertest(Request $request)
{ {
$redis = new RedisHelper(); // \think\facade\Filesystem::disk('public')-/
$redis->set('test', '123');
$id = request()->post('id/d', 0); $id = request()->post('id/d', 0);
$type = request()->post('type/d', 0); $type = request()->post('type/d', 0);
if ($type != 1 && $type != 0 && $type != 2) { if ($type != 1 && $type != 0 && $type != 2) {

View File

@ -291,5 +291,4 @@ Route::rule('user_invite', 'user/user_invite', 'GET');
Route::rule('user_statistics', 'Statistics/UserStatistics', 'GET'); Route::rule('user_statistics', 'Statistics/UserStatistics', 'GET');
Route::rule('ueditor_uploadimage', 'Upload/uploadimage', 'GET|POST');

View File

@ -2454,17 +2454,7 @@ class AliNotify extends Base
{ {
//微信官方发货 //微信官方发货
$wxServer = new \app\common\server\Wx($this->app); $wxServer = new \app\common\server\Wx($this->app);
// //获取access_token
// $redis = new \Redis();
// $redis->connect('127.0.0.1',6379);
// $weixinpay = getConfig('weixinpay');
// $key = $weixinpay['appid'].'_access_token';
// if(empty($redis->get($key))){
// $access_token = $wxServer->get_access_token();
// $redis->setEx($key,3600,$access_token);
// }else{
// $access_token = $redis->get($key);
// }
$access_token = $wxServer->get_access_token(); $access_token = $wxServer->get_access_token();
$open_id = Db::name('user')->where('id', $user_id)->value('openid'); $open_id = Db::name('user')->where('id', $user_id)->value('openid');
$wxServer->post_order($open_id, $access_token, $order_num); $wxServer->post_order($open_id, $access_token, $order_num);

View File

@ -465,8 +465,7 @@ class CardGoods extends Base
} }
} }
//更新缓存 //更新缓存
$redis = new \Redis(); $redis = (new \app\common\server\RedisHelper())->getRedis();
$redis->connect('127.0.0.1', 6379);
$redis_key = "kpw_cardextractor_orderbuy" . '_' . $user['id']; $redis_key = "kpw_cardextractor_orderbuy" . '_' . $user['id'];
$redis_key_info = $redis->get($redis_key); $redis_key_info = $redis->get($redis_key);
if ($redis_key_info) { if ($redis_key_info) {

View File

@ -1,5 +1,5 @@
<?php <?php
declare (strict_types=1); declare(strict_types=1);
namespace app\api\controller; namespace app\api\controller;
@ -78,7 +78,7 @@ class Cardextractor extends Base
$goods = GoodsModel::where($whe) $goods = GoodsModel::where($whe)
->field("id,title,imgurl,price,show_price,type,stock,sale_stock,status,card_set") ->field("id,title,imgurl,price,show_price,type,stock,sale_stock,status,card_set")
->order("sort desc,id desc")->paginate(15)->each(function ($itme) { ->order("sort desc,id desc")->paginate(15)->each(function ($itme) {
// $card_set = json_decode($itme['card_set'], true); // $card_set = json_decode($itme['card_set'], true);
// $itme['price'] = bcmul("{$itme['price']}", "{$card_set['left_count']}", 2); // $itme['price'] = bcmul("{$itme['price']}", "{$card_set['left_count']}", 2);
$itme['price'] = $itme['show_price']; $itme['price'] = $itme['show_price'];
$itme['imgurl'] = imageUrl($itme['imgurl']); $itme['imgurl'] = imageUrl($itme['imgurl']);
@ -129,7 +129,7 @@ class Cardextractor extends Base
$goods['imgurl_detail'] = imageUrl($goods['imgurl_detail']); $goods['imgurl_detail'] = imageUrl($goods['imgurl_detail']);
$goods['card_banner'] = imageUrl($goods['card_banner']); $goods['card_banner'] = imageUrl($goods['card_banner']);
$card_set = json_decode($goods['card_set'], true); $card_set = json_decode($goods['card_set'], true);
// $goods['price'] = bcmul("{$goods['price']}", "{$card_set['left_count']}", 2); // $goods['price'] = bcmul("{$goods['price']}", "{$card_set['left_count']}", 2);
$goods['price'] = $goods['show_price']; $goods['price'] = $goods['show_price'];
unset($card_set['left_shang_id']); unset($card_set['left_shang_id']);
unset($card_set['left_shang_count']); unset($card_set['left_shang_count']);
@ -165,7 +165,7 @@ class Cardextractor extends Base
}) })
->order('sort desc,id asc') ->order('sort desc,id asc')
->select()->toArray(); ->select()->toArray();
// array_unshift($category, ['id' => 0, 'title' => '全部', 'pro' => 0]); // array_unshift($category, ['id' => 0, 'title' => '全部', 'pro' => 0]);
$where = []; $where = [];
if ($shang_id) { if ($shang_id) {
$where[] = ['shang_id', '=', $shang_id]; $where[] = ['shang_id', '=', $shang_id];
@ -220,7 +220,7 @@ class Cardextractor extends Base
->where('goods_id', '=', $goods_id) ->where('goods_id', '=', $goods_id)
->order('sort desc,id asc') ->order('sort desc,id asc')
->select()->toArray(); ->select()->toArray();
// array_unshift($category, ['id' => 0, 'title' => '全部']); // array_unshift($category, ['id' => 0, 'title' => '全部']);
$where = []; $where = [];
if ($shang_id) { if ($shang_id) {
$where[] = ['shang_id', '=', $shang_id]; $where[] = ['shang_id', '=', $shang_id];
@ -400,7 +400,7 @@ class Cardextractor extends Base
} }
$key_shang_id = $pre_type . '_shang_id'; $key_shang_id = $pre_type . '_shang_id';
$key_shang_count = $pre_type . '_shang_count'; $key_shang_count = $pre_type . '_shang_count';
if (isset($card_set[$key_shang_id]) && isset($card_set[$key_shang_count])) { if (isset($card_set[$key_shang_id]) && isset($card_set[$key_shang_count])) {
$prize_card_set = json_encode([ $prize_card_set = json_encode([
'shang_id' => $card_set[$key_shang_id], 'shang_id' => $card_set[$key_shang_id],
@ -442,8 +442,8 @@ class Cardextractor extends Base
} }
} }
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379); $redis = (new \app\common\server\RedisHelper())->getRedis();
$redis_key = "kpw_cardextractor_orderbuy" . '_' . $user['id']; $redis_key = "kpw_cardextractor_orderbuy" . '_' . $user['id'];
$redis_key_info = $redis->get($redis_key); $redis_key_info = $redis->get($redis_key);
if ($redis_key_info) { if ($redis_key_info) {

View File

@ -63,7 +63,7 @@ class Goods extends Base
$whe[] = ['type', '=', 2]; $whe[] = ['type', '=', 2];
} elseif ($type_str == 3) { } elseif ($type_str == 3) {
$whe[] = ['type', '=', 3]; $whe[] = ['type', '=', 3];
} elseif ($type_str == 5) { } elseif ($type_str == 5) {
$whe[] = ['type', '=', 5]; $whe[] = ['type', '=', 5];
} elseif ($type_str == 6) { } elseif ($type_str == 6) {
$whe[] = ['type', '=', 6]; $whe[] = ['type', '=', 6];
@ -521,13 +521,13 @@ class Goods extends Base
if ($goods['type'] == 6 && $goods['quanju_xiangou'] > 0) { if ($goods['type'] == 6 && $goods['quanju_xiangou'] > 0) {
//限购 //限购
$user_xiangou_count = OrderList::field('id')->where('goods_id', '=', $goods_id) $user_xiangou_count = OrderList::field('id')->where('goods_id', '=', $goods_id)
->where('num', '=', $num) ->where('num', '=', $num)
->where('shang_id', 'between', self::$shang_count_id) ->where('shang_id', 'between', self::$shang_count_id)
->where('order_type', '=', $goods['type']) ->where('order_type', '=', $goods['type'])
->where('user_id', '=', $user['id']) ->where('user_id', '=', $user['id'])
->count(); ->count();
//已经达到限购先上限 //已经达到限购先上限
if($goods['quanju_xiangou']<=$user_xiangou_count){ if ($goods['quanju_xiangou'] <= $user_xiangou_count) {
return $this->renderError('当前箱子限购' . $goods['quanju_xiangou'] . '次'); return $this->renderError('当前箱子限购' . $goods['quanju_xiangou'] . '次');
} }
} }
@ -859,8 +859,8 @@ class Goods extends Base
$goods_id_num = $goods_id . '_' . $num; $goods_id_num = $goods_id . '_' . $num;
#盒子是否配置锁箱 #盒子是否配置锁箱
if ($goods['lock_is'] == 1 && $goods['lock_time'] > 0) { if ($goods['lock_is'] == 1 && $goods['lock_time'] > 0) {
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379); $redis = (new \app\common\server\RedisHelper())->getRedis();
$redis_key = "kpw_lock" . '_' . $goods_id_num; $redis_key = "kpw_lock" . '_' . $goods_id_num;
$redis_key_info = $redis->get($redis_key); $redis_key_info = $redis->get($redis_key);
if ($redis_key_info) { if ($redis_key_info) {
@ -925,8 +925,7 @@ class Goods extends Base
} }
#一番赏锁箱 #一番赏锁箱
$redis = new \Redis(); $redis = (new \app\common\server\RedisHelper())->getRedis();
$redis->connect('127.0.0.1', 6379);
$redis_key = "kpw_orderbuy" . '_' . $user['id']; $redis_key = "kpw_orderbuy" . '_' . $user['id'];
$redis_key_info = $redis->get($redis_key); $redis_key_info = $redis->get($redis_key);
if ($redis_key_info) { if ($redis_key_info) {

View File

@ -633,8 +633,7 @@ class Infinite extends Base
$redis = new \Redis(); $redis = (new \app\common\server\RedisHelper())->getRedis();
$redis->connect('127.0.0.1', 6379);
$redis_key = "kpw_infinite_orderbuy" . '_' . $user['id']; $redis_key = "kpw_infinite_orderbuy" . '_' . $user['id'];
$redis_key_info = $redis->get($redis_key); $redis_key_info = $redis->get($redis_key);
if ($redis_key_info) { if ($redis_key_info) {
@ -790,8 +789,7 @@ class Infinite extends Base
$price = 0; $price = 0;
} }
$redis = new \Redis(); $redis = (new \app\common\server\RedisHelper())->getRedis();
$redis->connect('127.0.0.1', 6379);
$redis_key = "kpw_infinite_orderbuy" . '_' . $user['id']; $redis_key = "kpw_infinite_orderbuy" . '_' . $user['id'];
$redis_key_info = $redis->get($redis_key); $redis_key_info = $redis->get($redis_key);
if ($redis_key_info) { if ($redis_key_info) {
@ -1089,8 +1087,7 @@ class Infinite extends Base
if ($user['draw_num'] == 0 || bccomp("$draw_num", "$prize_num") < 0) { if ($user['draw_num'] == 0 || bccomp("$draw_num", "$prize_num") < 0) {
return $this->renderError("抽奖券不足,无法进行抽奖"); return $this->renderError("抽奖券不足,无法进行抽奖");
} }
$redis = new \Redis(); $redis = (new \app\common\server\RedisHelper())->getRedis();
$redis->connect('127.0.0.1', 6379);
$redis_key = "kpw_infinite_orderbuy_draw" . '_' . $user['id']; $redis_key = "kpw_infinite_orderbuy_draw" . '_' . $user['id'];
$redis_key_info = $redis->get($redis_key); $redis_key_info = $redis->get($redis_key);
if ($redis_key_info) { if ($redis_key_info) {
@ -1185,8 +1182,7 @@ class Infinite extends Base
return $this->renderError("消费满" . $choujiang_xianzhi . "元可参与 已消费" . round($user_price, 2) . ""); return $this->renderError("消费满" . $choujiang_xianzhi . "元可参与 已消费" . round($user_price, 2) . "");
} }
} }
$redis = new \Redis(); $redis = (new \app\common\server\RedisHelper())->getRedis();
$redis->connect('127.0.0.1', 6379);
$redis_key = "item_card_chou" . '_' . $user['id']; $redis_key = "item_card_chou" . '_' . $user['id'];
$redis_key_info = $redis->get($redis_key); $redis_key_info = $redis->get($redis_key);
if ($redis_key_info) { if ($redis_key_info) {

View File

@ -123,8 +123,7 @@ class Mall extends Base
$redis = new \Redis(); $redis = (new \app\common\server\RedisHelper())->getRedis();
$redis->connect('127.0.0.1', 6379);
$redis_key = "kpw_mall_orderbuy" . '_' . $user['id']; $redis_key = "kpw_mall_orderbuy" . '_' . $user['id'];
$redis_key_info = $redis->get($redis_key); $redis_key_info = $redis->get($redis_key);
if ($redis_key_info) { if ($redis_key_info) {
@ -260,8 +259,7 @@ class Mall extends Base
$price = 0; $price = 0;
} }
$redis = new \Redis(); $redis = (new \app\common\server\RedisHelper())->getRedis();
$redis->connect('127.0.0.1', 6379);
$redis_key = "kpw_infinite_orderbuy" . '_' . $user['id']; $redis_key = "kpw_infinite_orderbuy" . '_' . $user['id'];
$redis_key_info = $redis->get($redis_key); $redis_key_info = $redis->get($redis_key);
if ($redis_key_info) { if ($redis_key_info) {
@ -559,8 +557,7 @@ class Mall extends Base
if ($user['draw_num'] == 0 || bccomp("$draw_num", "$prize_num") < 0) { if ($user['draw_num'] == 0 || bccomp("$draw_num", "$prize_num") < 0) {
return $this->renderError("抽奖券不足,无法进行抽奖"); return $this->renderError("抽奖券不足,无法进行抽奖");
} }
$redis = new \Redis(); $redis = (new \app\common\server\RedisHelper())->getRedis();
$redis->connect('127.0.0.1', 6379);
$redis_key = "kpw_infinite_orderbuy_draw" . '_' . $user['id']; $redis_key = "kpw_infinite_orderbuy_draw" . '_' . $user['id'];
$redis_key_info = $redis->get($redis_key); $redis_key_info = $redis->get($redis_key);
if ($redis_key_info) { if ($redis_key_info) {
@ -655,8 +652,7 @@ class Mall extends Base
return $this->renderError("消费满" . $choujiang_xianzhi . "元可参与 已消费" . round($user_price, 2) . ""); return $this->renderError("消费满" . $choujiang_xianzhi . "元可参与 已消费" . round($user_price, 2) . "");
} }
} }
$redis = new \Redis(); $redis = (new \app\common\server\RedisHelper())->getRedis();
$redis->connect('127.0.0.1', 6379);
$redis_key = "item_card_chou" . '_' . $user['id']; $redis_key = "item_card_chou" . '_' . $user['id'];
$redis_key_info = $redis->get($redis_key); $redis_key_info = $redis->get($redis_key);
if ($redis_key_info) { if ($redis_key_info) {

View File

@ -481,8 +481,8 @@ class Notify extends Base
#套库存============================= #套库存=============================
// $all_stock = GoodsList::field('stock')->where('goods_id', '=', $goods_id)->where('num', '=', $num) // $all_stock = GoodsList::field('stock')->where('goods_id', '=', $goods_id)->where('num', '=', $num)
// ->where('shang_id', 'between', self::$shang_prize_id)->sum('stock'); // ->where('shang_id', 'between', self::$shang_prize_id)->sum('stock');
// $redis = new \Redis(); //
// $redis->connect('127.0.0.1', 6379); // $redis = (new \app\common\server\RedisHelper())->getRedis();
// $redis_key = 'kpw_' . $goods_id . '_' . $num; // $redis_key = 'kpw_' . $goods_id . '_' . $num;
// for ($r = 1; $r <= $order['prize_num']; $r++) { // for ($r = 1; $r <= $order['prize_num']; $r++) {
// $redis->lPush($redis_key, 1); // $redis->lPush($redis_key, 1);
@ -1948,17 +1948,7 @@ class Notify extends Base
{ {
//微信官方发货 //微信官方发货
$wxServer = new \app\common\server\Wx($this->app); $wxServer = new \app\common\server\Wx($this->app);
// //获取access_token
// $redis = new \Redis();
// $redis->connect('127.0.0.1',6379);
// $weixinpay = getConfig('weixinpay');
// $key = $weixinpay['appid'].'_access_token';
// if(empty($redis->get($key))){
// $access_token = $wxServer->get_access_token();
// $redis->setEx($key,3600,$access_token);
// }else{
// $access_token = $redis->get($key);
// }
$access_token = $wxServer->get_access_token(); $access_token = $wxServer->get_access_token();
$open_id = Db::name('user')->where('id', $user_id)->value('openid'); $open_id = Db::name('user')->where('id', $user_id)->value('openid');
$wxServer->post_order($open_id, $access_token, $order_num); $wxServer->post_order($open_id, $access_token, $order_num);

View File

@ -522,8 +522,7 @@ class Seckill extends Base
return $this->renderError("规格选择错误"); return $this->renderError("规格选择错误");
} }
// dd(11); // dd(11);
// $redis = new \Redis(); // $redis = (new \app\common\server\RedisHelper())->getRedis();
// $redis->connect('127.0.0.1', 6379);
// $key = "shop_order_buy".'_'.$goods_id; // $key = "shop_order_buy".'_'.$goods_id;
// $redis_key_info = $redis->get($key); // $redis_key_info = $redis->get($key);
// if($redis_key_info){ // if($redis_key_info){

View File

@ -605,8 +605,7 @@ class Warehouse extends Base
->where('status', '=', 0) ->where('status', '=', 0)
->where('insurance_is', '=', 0) ->where('insurance_is', '=', 0)
->sum("goodslist_money"); ->sum("goodslist_money");
$redis = new \Redis(); $redis = (new \app\common\server\RedisHelper())->getRedis();
$redis->connect('127.0.0.1', 6379);
$redis_key = "kpw_warehouse_recovery" . '_' . $user['id']; $redis_key = "kpw_warehouse_recovery" . '_' . $user['id'];
$redis_key_info = $redis->get($redis_key); $redis_key_info = $redis->get($redis_key);
if ($redis_key_info) { if ($redis_key_info) {
@ -718,8 +717,7 @@ class Warehouse extends Base
} }
#发货订单 #发货订单
$send_num = create_order_no('FH_', 'order_list_send', 'send_num'); $send_num = create_order_no('FH_', 'order_list_send', 'send_num');
$redis = new \Redis(); $redis = (new \app\common\server\RedisHelper())->getRedis();
$redis->connect('127.0.0.1', 6379);
$redis_key = "kpw_warehouse_send" . '_' . $user['id']; $redis_key = "kpw_warehouse_send" . '_' . $user['id'];
$redis_key_info = $redis->get($redis_key); $redis_key_info = $redis->get($redis_key);
if ($redis_key_info) { if ($redis_key_info) {
@ -821,8 +819,7 @@ class Warehouse extends Base
if (!$order_list_id) { if (!$order_list_id) {
return $this->renderError("请刷新重新选择奖品"); return $this->renderError("请刷新重新选择奖品");
} }
$redis = new \Redis(); $redis = (new \app\common\server\RedisHelper())->getRedis();
$redis->connect('127.0.0.1', 6379);
$redis_key = "kpw_warehouse_movein" . '_' . $user['id']; $redis_key = "kpw_warehouse_movein" . '_' . $user['id'];
$redis_key_info = $redis->get($redis_key); $redis_key_info = $redis->get($redis_key);
if ($redis_key_info) { if ($redis_key_info) {
@ -877,8 +874,7 @@ class Warehouse extends Base
if (!$order_list_id) { if (!$order_list_id) {
return $this->renderError("请刷新重新选择奖品"); return $this->renderError("请刷新重新选择奖品");
} }
$redis = new \Redis(); $redis = (new \app\common\server\RedisHelper())->getRedis();
$redis->connect('127.0.0.1', 6379);
$redis_key = "kpw_warehouse_remove" . '_' . $user['id']; $redis_key = "kpw_warehouse_remove" . '_' . $user['id'];
$redis_key_info = $redis->get($redis_key); $redis_key_info = $redis->get($redis_key);
if ($redis_key_info) { if ($redis_key_info) {

View File

@ -2,34 +2,73 @@
namespace app\common\server; namespace app\common\server;
/**
* Class RedisHelper
*
* 这是一个用于操作 Redis 的帮助类,提供了基本的 Redis 操作方法。
*/
class RedisHelper class RedisHelper
{ {
/**
* @var \Redis Redis 实例
*/
private $redis;
public $redis; /**
* 构造函数,初始化 Redis 连接
*/
public function __construct() public function __construct()
{ {
$host = getenv('REDIS_HOST') ?: '127.0.0.1'; // 从环境变量中获取 Redis 主机和端口,默认为 127.0.0.1 和 6379
// $config = include '/../../../config/redis.php'; // 确保路径正确 $host = env('redis.host', '127.0.0.1');
$port = getenv('REDIS_PORT') ?: 6379; $port = env('redis.port', '6379');
// 创建 Redis 实例
$this->redis = new \Redis(); $this->redis = new \Redis();
// 连接到 Redis 服务器
$this->connect($host, $port); $this->connect($host, $port);
} }
/**
* 连接到 Redis 服务器
*
* @param string $host Redis 主机地址
* @param int $port Redis 端口
*/
private function connect($host, $port) private function connect($host, $port)
{ {
$this->redis->connect($host, $port); $this->redis->connect($host, $port);
} }
/**
* 获取 Redis 实例
*
* @return \Redis
*/
public function getRedis()
{
return $this->redis;
}
/**
* Redis 中获取指定键的值
*
* @param string $key 键名
* @return mixed 键对应的值
*/
public function get($key) public function get($key)
{ {
return $this->redis->get($key); return $this->redis->get($key);
} }
public function set($key, $value, $timeout = 0) /**
* 设置指定键的值,并可选设置过期时间(默认 600 秒)
*
* @param string $key 键名
* @param mixed $value 键值
* @param int $timeout 过期时间(秒)
* @return bool 设置是否成功
*/
public function set($key, $value, $timeout = 600)
{ {
if ($timeout > 0) { if ($timeout > 0) {
return $this->redis->setex($key, $timeout, $value); return $this->redis->setex($key, $timeout, $value);
@ -37,19 +76,37 @@ class RedisHelper
return $this->redis->set($key, $value); return $this->redis->set($key, $value);
} }
/**
* 删除指定键
*
* @param string $key 键名
* @return int 被删除的键的数量
*/
public function delete($key) public function delete($key)
{ {
return $this->redis->del($key); return $this->redis->del($key);
} }
/**
* 检查指定键是否存在
*
* @param string $key 键名
* @return bool 键是否存在
*/
public function exists($key) public function exists($key)
{ {
return $this->redis->exists($key); return $this->redis->exists($key);
} }
/**
* 设置指定键的过期时间
*
* @param string $key 键名
* @param int $timeout 过期时间(秒)
* @return bool 设置是否成功
*/
public function expire($key, $timeout) public function expire($key, $timeout)
{ {
return $this->redis->expire($key, $timeout); return $this->redis->expire($key, $timeout);
} }
} }

View File

@ -2,13 +2,13 @@
namespace app\common\server; namespace app\common\server;
use app\MyController; use app\MyController;
class RedisLock extends MyController{ class RedisLock extends MyController
{
private $_redis; private $_redis;
public function initialize(){ public function initialize()
{
$this->_redis = new \Redis(); $_redis = (new \app\common\server\RedisHelper())->getRedis();
$this->_redis->connect('127.0.0.1',6379);
} }
/** /**
@ -17,20 +17,21 @@ class RedisLock extends MyController{
* @param Int $expire 锁过期时间 * @param Int $expire 锁过期时间
* @return Boolean * @return Boolean
*/ */
public function lock($key, $expire=5){ public function lock($key, $expire = 5)
$is_lock = $this->_redis->setnx($key, time()+$expire); {
$is_lock = $this->_redis->setnx($key, time() + $expire);
// 不能获取锁 // 不能获取锁
if(!$is_lock){ if (!$is_lock) {
// 判断锁是否过期 // 判断锁是否过期
$lock_time = $this->_redis->get($key); $lock_time = $this->_redis->get($key);
// 锁已过期,删除锁,重新获取 // 锁已过期,删除锁,重新获取
if(time()>$lock_time){ if (time() > $lock_time) {
$this->unlock($key); $this->unlock($key);
$is_lock = $this->_redis->setnx($key, time()+$expire); $is_lock = $this->_redis->setnx($key, time() + $expire);
} }
} }
return $is_lock? true : false; return $is_lock ? true : false;
} }
@ -39,7 +40,8 @@ class RedisLock extends MyController{
* @param String $key 锁标识 * @param String $key 锁标识
* @return Boolean * @return Boolean
*/ */
public function unlock($key){ public function unlock($key)
{
return $this->_redis->del($key); return $this->_redis->del($key);
} }

View File

@ -171,8 +171,7 @@ class Wx extends MyController
*/ */
public function get_access_token() public function get_access_token()
{ {
$redis = new \Redis(); $redis = (new \app\common\server\RedisHelper())->getRedis();
$redis->connect('127.0.0.1', 6379);
$redis_key = 'wx_access_token'; $redis_key = 'wx_access_token';
$access_token_info = $redis->get($redis_key); $access_token_info = $redis->get($redis_key);

View File

@ -1,8 +0,0 @@
<?php
return [
// 默认使用的数据库连接配置
'host' => env('redis.host', '127.0.0.1'),
'port' => env('redis.port', 6379),
'password' => env('redis.password', ''),
];