PHP Redis 有序列表按参加时间或分值达到时间排序
步骤说明public function addMemberWinNum($memberId, $num = 1){ $expirationTime = $this->getExpirationTime(); $existsStatus = $this->redis->exists($this->rankKey); $res = $this->redis->zIncrBy($this->rankKey, $num, $memberId); !$existsStatus && $this->redis->expire($this->key, $expirationTime - time()); return $res;}
改
/** * Redis 有序列表排序按字母排序,现分数修改如下 * 分数:整数为分数,小数:最大时间-当前时间 * @param $score * @return string */public function encodeScore($ ...
PHP 日志分析处理
环境说明
lnmp 1.7
PHP 7.3
步骤说明配置日志
vim /usr/local/php7.3/etc/php-fpm.conf
request_terminate_timeout = 100request_slowlog_timeout = 3s
说明:
request_slowlog_timeout 脚本超过多长时间,记录到日志文件
slowlog 日志文件的存储路径
request_terminate_timeout 时间太长的进程直接终止
Postman 技巧
步骤说明路径参数使用占位符
{{url}}/helloworld/:name
登录保存 Token
新建环境变量
登录接口Test中修改为
var jsonData = JSON.parse(responseBody);var token = jsonData.data.token;if (token) { tests["token"] = true; pm.environment.set("token", token);} else { tests["token"] = false;}
登录请求后,成功会替换环境变量
需要验证登录的header中修改
历史版本下载自动给我安装了最新的8.5.1
出现几个问题,遂找旧版本8.4.0
api 双击打不开tab
env 编辑不了
Postman 8.4.0
20220216 可能是哪个集合中数据问题,下载最新版本,重新导入json备份就没有该两个问题
Golang Redis 使用示例
环境说明
go version go1.16.2 darwin/amd64
redis github.com/go-redis/redis/v8
步骤说明# 在项目目录下初始化 go modgo mod init# 下载 go-redis 依赖go get github.com/go-redis/redis/v8
SAdd示例
robotIdsKey := "axinblog:robot_ids"var args []interface{}for _, item := range res.Members { args = append(args, item.Id)}_, err = s.dao.Redis.SAdd(ctx, robotIdsKey, args...).Result()if err != nil { log.Error("PkGameSVC.PkGameJoinAllRobot SAdd error(%s)", args, err) return ...
Golang cron 定时任务
步骤说明在线验证工具:cron在线工具
# 文件格式說明#┌──秒(0 - 59)#│ ┌──分钟(0 - 59)#│ │ ┌──小时(0 - 23)#│ │ │ ┌──日(1 - 31)#│ │ │ │ ┌─月(1 - 12)#│ │ │ │ │ ┌─星期(0 - 6,表示从周日到周六)#│ │ │ │ │ │# * * * * * * 被执行的命令
cron 安装&使用go get github.com/robfig/cron/v3
示例
(1) */2 * * * * * 每个偶数分执行text(2) */2 */2 * * * * 每个偶数分 并且是偶数秒执行text(3) 2,4,6 * * * * * 每分钟的2,4,6这三个秒执行text(4) 2,4,6 5-6 * * * 1 每周一的5点2,4,6秒和6点2,4,6秒执行text(5) @daily 每天一次(6) @midnight 同上(7) @every 1m30s 定时1分30秒执行tex ...
Golang 字符串操作
strings.Split 支持单个分隔符"20|15|12"
转
[20, 15, 12]
awardArr := strings.Split(gameConfig.AwardRule, "|")for _, item := range awardArr { val, _ := strconv.Atoi(item) awardRule = append(awardRule, val)}
"axin,blog,test"
转
["axin", "blog", "test"]
str := "axin,blog,test"res := strings.Split(str, ",")fmt.Println(res)
字符串连接res := strings.Join(str, ",")
strings.FieldsFunc 支持多个分隔符srcStr2 := "a b c, ...
Gorse 入门使用教程
环境说明
Laravel 开发环境 Homestead 已安装redis,mysql
Gorse 0.2.0
测试环境:Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-48-generic x86_64)
开发环境:mac
步骤说明下载git clone 代码到本地
go get github.com/zhenghaoz/gorse/...
配置复制config目录下
gorse/config/config.toml.template
为
config.toml
修改Redis与mysql链接信息
这是我修改的结果
[database]# database for caching (support Redis only)cache_store = "redis://192.168.10.10:6379"# database for persist data (support MySQL/MongoDB/Redis)data_store = "mysql://homestead:secret@tcp(192.168.10.10:33 ...
Gradle 安装与升级
前言今天打开Android Studio 提示我gradle版本太低了,升级一下gradle吧
Minimum supported Gradle version is 6.5. Current version is 6.4.Please fix the project's Gradle settings.Fix Gradle wrapper and re-import projectOpen Gradle wrapper propertiesGradle Settings.
环境说明
mac
gradle 6.4 升级到 gradle 6.9
步骤说明下载安装点击官网下载
解压移动到你的安装目录
我这里是解压到了usr/local/gradle目录中
$ pwd/usr/local/gradle# axin @ AxindeMacBook-Pro in /usr/local/gradle [22:34:30]$ lltotal 0drwxr-xr-x@ 8 axin staff 256B 2 1 1980 gradle-6.4drwxr-xr-x 8 a ...
PHP Redis 操作
sAdd$array=['1','2','3'];$redis->sAdd('set_test', ...$array);PHP版本得5.6及以上call_user_func_array(array($this->redis, 'sAdd'), $array);
Redis TTL命令用于获取键到期的剩余时间(秒)。返回值以毫秒为单位的整数值TTL或负值TTL以毫秒为单位。-1, 如果key没有到期超时。-2, 如果键不存在。
$this->redis->ttl($key)
判断key是否过期/** * 判断key是否过期 * @param $key * @return bool */public function isExpire($key): bool{ return $this->redis->ttl($key) > 0 ? false : true;}
Homestead 配置Xdebug
步骤说明修改xdebug配置
sudo vim /etc/php/7.x/fpm/conf.d/20-xdebug.ini
zend_extension=xdebug.soxdebug.remote_enable = 1xdebug.remote_connect_back = 1xdebug.remote_port = 9000xdebug.max_nesting_level = 512
改成如下
zend_extension=xdebug.soxdebug.remote_enable = 1xdebug.remote_connect_back = 1xdebug.remote_port = 9000xdebug.max_nesting_level = 512xdebug.remote_handler = dbgpxdebug.idekey = PHPSTORMxdebug.remote_log = /tmp/xdebug.log
修改保存后重启 php-fpm 服务。
service php7.4-fpm restart
这里会让你输入ssh密码:
我没改过homestead密码所以 ...