php redis hash用法,phpredis扩展操作hash与list操作

$user = ["name" => "张三", "age" => 18];

$redis->del('key');  //删除键值

$redis->hSet("key", "user", "weiyeying"); //设置hash

$redis->hSet("key", "age", 20);

$redis->hSet("key", "age1", 20.1);

$redis->hSet("key", "age2", 20.12);

$redis->hSet("key", "age3", 20.13);

$redis->hSet("key", "age4", 20.14);

$hsetnx = $redis->hSetNx("key", "age2", 19.5); //原子性 只有在不存在age时才添加成功 否则返回falsh

$data = $redis->hGet("key", "user");  //返回key值

$hlen = $redis->hlen("key"); //hash长度

$hdel = $redis->hDel("key", "age2"); //删除hash里面某个key

$hkeys = $redis->hKeys("key"); //返回所有key  类似于arra_keys

$hvals = $redis->hVals("key"); //返回所有values 类似于php中 array_values

$hgtall = $redis->hGetAll("key"); //返回所有数据key->val 索引数组

$hexists = $redis->hExists("key", "user"); //判断key是否存在

$hincrby = $redis->hIncrBy("key", "age", -2); //按照指定的数量增加或减少-1就是减  返回 22

$hincrbyfloat = $redis->hIncrByFloat("key", "age1", 1.5); //指定的数量增加或减少(浮点数) -1.5 就是减  返回21.6

$hmset = $redis->hMGet("key2", $user); //一次设定多个值

$hmget = $redis->hMGet("key2", ["name", "age"]);

$hstrlen = $redis->hStrLen("key", "user"); //获取key指定键值的val长度

$it = NULL;

$redis->setOption(\Redis::OPT_SCAN, \Redis::SCAN_RETRY); /* 在迭代前不返回空数组 */

while ($arr_keys = $redis->hScan('key', $it, "age*", 1)) {  //使用hscan迭代获取age前缀所有hash值 $it游标需要引用否则报错

// var_dump($arr_keys);

}

/*             * list* */

$lpush=$redis->lpush("list","aaaaaa"); //左插入

$lpushx=$redis->lpushx("list","xxxx"); //左如果列表存在则插入成功否则返回0

$rpush=$redis->rpush("list","bbbbbbbb"); //右插入

$rpushx=$redis->rpushx("list","xxxx"); //右如果列表存在则插入成功否则返回0

$linsert=$redis->linsert("list",  \Redis::BEFORE,"aaaaaa","ACACAC"); //重头开始在第一个aaaaaa前插入acacac Redis::AFTER 是在之后插入

$lset=$redis->lset("list",0,"lset"); //指定索引修改值

$index = $redis->lindex("list", 5); //根据索引获取列表值

$llen=$redis->llen("list"); //获取列表长度

$lpop=$redis->lpop("list"); //左弹出

$rpop=$redis->rpop("list");//右弹出

$rpoplpush=$redis->rpoplpush("list","list2");//重list列表右中弹出一个值 插入到list2的头部

$ltrim=$redis->ltrim("list",0,3);//设置列表0-3 重新截取

$lrange = $redis->lrange("list", 0, -1); //获取列表所有数据

$lrange2 = $redis->lrange("list2", 0, -1); //获取列表所有数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值