redisun 为不同数据类型封装统一的命令 项目简介
使用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: 创建keycreateNotExists: 当key不存在时创建createExists: 当key存在时创建insert: 创建key,支持批量创建insertNotExists: key不存在时创建insertExists: key存在时创建get: 获取key,支持批量获取getAndSet: 获取key并设置新值find: 获取单个keyfindBatch: 获取多个keyupdate: 更新多个keydestroy: 删除单个keydestroyBatch: 删除多个keydelete: 删除多个key
$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: 创建keycreateNotExists: 当key不存在时创建createExists: 当key存在时创建insert: 创建key,支持批量创建insertNotExists: key不存在时创建insertExists: key存在时创建get: 获取key,支持批量获取getAndSet: 获取key并设置新值find: 获取单个keyfindBatch: 获取多个keyupdate: 更新多个keydestroy: 删除单个keydestroyBatch: 删除多个keydelete: 删除多个key