动态字段插入及查询redis小结

对于对象,如[],{} 入redis必需先转化成string,否则无法正确的存入

插入\更新

$objFields = array("fuck")

$params = array("name"=>"hello","age"=>1,"tags"=>array("sexy","handsome"));

$params = obj2string($params,$objFields);


$redis->hMset('sbase:detail:1',$params);

查询列表

$objFields = array("fuck")

$result = $redis->hGetAll('sbase:detail:1');

$result = string2obj($result,$objFields);

return $result;

准备帮助函数

    /**
     * @param $Params
     * @param $objFields
     * @return mixed
     */
    public function obj2string($Params,$objFields) {
        if(count($objFields)>0) {
            foreach ($objFields as $field) {
                $Params[$field] = json_encode($Params[$field]);
            }
        }

        return $Params;
    }

    /**
     * @param $result
     * @param $objFields
     * @return mixed
     */
    public function string2obj($result,$objFields) {
        //to process
        if(count($objFields)>0) {
            foreach ($objFields as $field) {
                $result[$field] = json_decode($result[$field]);
            }
        }

        return $result;
    }


    /**
     * @param $items
     * @param $objFields
     * @return array
     */
    public function list2obj($items,$objFields) {
        //to process
        if(count($objFields)>0) {
            $temps = array();
            foreach($objFields as $field) {
                foreach($items as $item){
                    $item[$field] = json_decode($item[$field]);
                    array_push($temps,$item);
                }
            }
            $items = $temps;
        }

        return $items;
    }

转载于:https://my.oschina.net/u/2351685/blog/599028

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值