1.增加互斥锁:保证缓存和数据库数据一致性
2.增加消费队列,保证mysql数据的正常保存
This commit is contained in:
@@ -25,4 +25,16 @@ return [
|
||||
'ttl_game_record' => $envInt('GAME_HOT_CACHE_TTL_GAME_RECORD', 60),
|
||||
/** user 行缓存(秒),余额/连胜变更会主动删除 */
|
||||
'ttl_user' => $envInt('GAME_HOT_CACHE_TTL_USER', 90),
|
||||
/** 后台对同一用户互斥操作(如钱包加减点)的 Redis 锁 TTL(秒) */
|
||||
'admin_user_mutation_lock_ttl' => $envInt('GAME_HOT_CACHE_ADMIN_USER_LOCK_TTL', 30),
|
||||
/** 是否启用缓存回源队列(独立进程消费) */
|
||||
'enable_cache_write_queue' => filter_var(env('GAME_HOT_CACHE_ENABLE_WRITE_QUEUE', true), FILTER_VALIDATE_BOOLEAN),
|
||||
/** 队列 Redis List 键名 */
|
||||
'queue_list_key' => env('GAME_HOT_CACHE_QUEUE_LIST_KEY', 'dfw:q:hot_data_write'),
|
||||
/** 队列最大长度,超出则丢弃最旧一条再入队 */
|
||||
'queue_max_length' => $envInt('GAME_HOT_CACHE_QUEUE_MAX_LENGTH', 50000),
|
||||
/** 消费者 Timer 间隔(秒) */
|
||||
'queue_consumer_tick_seconds' => (float) (env('GAME_HOT_CACHE_QUEUE_CONSUMER_TICK', '0.1')),
|
||||
/** 每轮最多处理任务数 */
|
||||
'queue_consumer_batch' => $envInt('GAME_HOT_CACHE_QUEUE_CONSUMER_BATCH', 80),
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user