多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## db - 切换数据库 ~~~ use \api\Redis; // 切换成1号数据库 Redis::db(1); ~~~ <br/> ## key - 设置KEY ~~~ use \api\Redis; // @param:key名称 // @param:操作类型,例如,get、set、hgetall,指定本次需要执行的操作 // @param:key前缀 Redis::key('key', 'get'); ~~~ >框架提供了redis快捷操作函数,以下的例子均已快速操作 >redis(['key', 'get', 'prefis']) 等价于 \api\Redis::key('key', 'get', 'prefix'); >建议开发中也使用 redis('key')的写法 <br/> ## get - 读取redis ~~~ // 以下案例均已 eapi:key为操作的KEY,文档中只列出了最常用的操作,其他操作请查看redis文档 // 只需要注意参数传递即可 // get redis(['key', 'get', 'eapi'])->get(); // mget redis([ ['key_1', 'key_2'], 'mget', 'eapi' ])->get(); // getset,读取KEY后重新赋值 redis([ 'key', 'getset', 'eapi' ])->get('new_value'); // llen,获取list长度 redis([ 'key', 'llen', 'eapi' ])->get(); // lindex,返回列表key中,下标为index的元素 redis([ 'key', 'lindex', 'eapi' ])->get(1); // lrange redis([ 'key', 'lrange', 'eapi' ])->get(0, -1); // smembers,返回set集合key中的所有成员 redis([ 'key', 'smembers', 'eapi' ])->get(); // sismember,判断set集合是否包含某个元素 redis([ 'key', 'sismember', 'eapi' ])->get('member'); // zscore,返回有序集 key 中,成员 member 的 score 值 redis([ 'key', 'zscore', 'eapi' ])->get('member'); // zrange,通过score从小到大 redis([ 'key', 'zrange', 'eapi' ])->get(0, -1); // zrevrange,通过score从大到小 redis([ 'key', 'zrevrange', 'eapi' ])->get(0, -1); // hlen,返回哈希表key中域的数量 redis([ 'key', 'hlen', 'eapi' ])->get(); // hget redis([ 'key', 'hget', 'eapi' ])->get('field'); // hgetall redis([ 'key', 'hgetall', 'eapi' ])->get(); // hkeys redis([ 'key', 'hkeys', 'eapi' ])->get(); // hvals redis([ 'key', 'hvals', 'eapi' ])->get(); ~~~ <br/> ## set - 写入redis ~~~ // 以下案例均已 eapi:key为操作的KEY,文档中只列出了最常用的操作,其他操作请查看redis文档 // 只需要注意参数传递即可 // set redis([ 'key', 'set', 'eapi' ])->set('val'); // 如果set写入的是数组,会自动转换成json redis([ 'key', 'set', 'eapi' ])->set([ 'id' => 1, 'name' => 'eapi' ]); // setex,设置5秒过期 redis([ 'key', 'setex', 'eapi' ])->set(5, 'val'); // setnx,排他 redis([ 'key', 'setnx', 'eapi' ])->set('val'); // incr递增 redis([ 'key', 'incr', 'eapi' ])->set(); // incrby指定递增值 redis([ 'key', 'incrby', 'eapi' ])->set(5); // decr递减 redis([ 'key', 'decr', 'eapi' ])->set(); // decrby指定递减值 redis([ 'key', 'decrby', 'eapi' ])->set(5); // hincrby,HASH表中的field字段递增5 redis([ 'key', 'hincrby', 'eapi' ])->set('field', 5); // hset redis([ 'key', 'hset', 'eapi' ])->set('field', 'val'); // hmset redis([ 'key', 'hmset', 'eapi' ])->set([ 'field1' => 'val', 'field2' => 'val' ]); // lpush redis([ 'key', 'lpush', 'eapi' ])->set('val'); // rpush redis([ 'key', 'rpush', 'eapi' ])->set('val'); // lpushx redis([ 'key', 'lpushx', 'eapi' ])->set('val'); // rpushx redis([ 'key', 'rpushx', 'eapi' ])->set('val'); // lset redis([ 'key', 'lset', 'eapi' ])->set(5, 'val'); // sadd redis([ 'key', 'sadd', 'eapi' ])->set('val'); // zadd redis([ 'key', 'zadd', 'eapi' ])->set(5, 'field'); // zincrby redis([ 'key', 'zincrby', 'eapi' ])->set(5, 'field'); ~~~ <br/> ## del - 删除 ~~~ // 以下案例均已 eapi:key为操作的KEY,文档中只列出了最常用的操作,其他操作请查看redis文档 // 只需要注意参数传递即可 // del redis([ 'key', 'del', 'eapi' ])->del(); // lpop redis([ 'key', 'lpop', 'eapi' ])->del(); // rpop redis([ 'key', 'rpop', 'eapi' ])->del(); // lrem redis([ 'key', 'lrem', 'eapi' ])->del('val', 10); // ltrim redis([ 'key', 'ltrim', 'eapi' ])->del(0, 10); // srem redis([ 'key', 'srem', 'eapi' ])->del('val'); // spop redis([ 'key', 'spop', 'eapi' ])->del(3); // zrem redis([ 'key', 'zrem', 'eapi' ])->del('val'); // hdel redis([ 'key', 'hdel', 'eapi' ])->del([ 'field1', 'field2' ]); ~~~ <br/> ## lock - 加锁 ~~~ use \api\Redis; // 创建锁 // @param 锁名称 // @param 锁过期时间,单位秒 $lock = Redis::lock('test', 1); // 如果没拿到锁则返回错误信息 if ( ! $lock) { fail(101, '请求错误,请稍候重试'); } // 具体的业务处理... // 处理完成后释放锁 Redis::unlock('test'); ~~~ <br/> ## unlock - 释放锁 ~~~ use \api\Redis; // @param 锁名称 Redis::unlock('test'); ~~~ <br/> ## pipe - 返回管道符,用于批量操作 ~~~ use \api\Redis; // 创建管道 $pipe = Redis::pipe(); // 使用管道执行操作 $pipe->zincrby('order', 100, 1); $pipe->zincrby('order', 100, 1); $pipe->zincrby('order', 100, 1); $pipe->zincrby('order', 100, 1); $pipe->zincrby('order', 100, 1); // 执行 $pipe->exec(); ~~~ <br/> ## clear - 批量删除 ~~~ // 批量删除 eapi:key_1、eapi:key_2 redis([ 'key*', 'del', 'eapi' ])->clear(); ~~~ <br/> ## flush - 清空数据库 ~~~ use \api\Redis; Redis::flush(); ~~~ <br/> ## dbSize - 返回KEY数量 ~~~ use \api\Redis; Redis::dbSize(); ~~~ <br/> ## info - 返回数据库信息 ~~~ use \api\Redis; Redis::info(); ~~~ <br/> ## save - 落地数据 ~~~ use \api\Redis; Redis::save(); ~~~