redisun为不同数据类型封装统一的命令

联合创作 · 2023-09-30 23:33

使用redis+lua为不同数据类型封装统一的命令,降低redis操作的复杂度,提高性能。

例如,创建一个key,常见的5种数据类型:string, hash, list, set, zset,均可使用同一个命令来实现

<?php

$key = 'hello-redisun';
// string
$value = 'hello';
// list
$value = [1,2,3];
// set
$value = ['hello', 'world', '!'];
// zset
$value = [
    'apple' => 1,
    'banana' => 2,
    'grape' => 3,
];
// hash
$value = [
    'name' => 'maria',
    'age' => 22,
];

$ttl = 100;   // 100s后过期
$ttl = null;  // 不过期,默认值

$model->create($key, $value, $ttl);

已封装的命令如下。所有的“set”类命令都支持设置ttl,如果不传ttl参数或传参为null,会保留key的当前ttl。

  • create: 创建key

  • createNotExists: 当key不存在时创建

  • createExists: 当key存在时创建

  • insert: 创建key,支持批量创建

  • insertNotExists: key不存在时创建

  • insertExists: key存在时创建

  • get: 获取key,支持批量获取

  • getAndSet: 获取key并设置新值

  • find: 获取单个key

  • findBatch: 获取多个key

  • update: 更新多个key

  • destroy: 删除单个key

  • destroyBatch: 删除多个key

  • delete: 删除多个key

浏览 5
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报