tp下redis封装类库及其使用

8 篇文章 0 订阅
<?php
namespace app\admin\controller;

use app\base\controller\Redis;

class Admin extends Common
{

    public function lst(){
   $redis = new Redis();
        if($a=$redis->get('name4')){
            $name = $a;
            echo 111;
        }else{
            $name = 'lixuemin333';
            $redis->set('name4','lixuemin123');
            echo 222;
        }
        echo $name;
        die;
        $adminRes=db('admin')->alias('a')->field('a.*,g.title')->join('auth_group g','a.groupid=g.id')->paginate(2);
        $this->assign([
            'adminRes'=>$adminRes,
            ]);
        return view('list');
    }

    public function add(){
        if(request()->isPost()){
            $data=input('post.');
            //验证
            $validate=validate('admin');
            if(!$validate->scene('add')->check($data)){
                $this->error($validate->getError());
            }
            $data['password']=md5($data['password']);
            $data['create_time']=time();
            $data['last_time']=time();
            $add=db('admin')->insertGetId($data);
            $_data=array();//对应管理员和用户组
            $_data['uid']=$add;
            $_data['group_id']=$data['groupid'];
            $addGroupAccess=db('authGroupAccess')->insert($_data);
            if($add && $addGroupAccess){
                $this->success('添加管理员成功!','lst');
            }else{
                $this->error('添加管理员失败!');
            }
            return;
        }
        //所属用户组
        $groupRes=db('authGroup')->select();
        $this->assign([
            'groupRes'=>$groupRes,
            ]);
        return view();
    }

    public function edit(){
        if(request()->isPost()){
            $data=input('post.');
            //验证
            $validate=validate('admin');
            if(!$validate->scene('edit')->check($data)){
                $this->error($validate->getError());
            }
            if($data['password']){
                $data['password']=md5($data['password']);
            }else{
                unset($data['password']);
            }
            $save=db('admin')->update($data);
            db('authGroupAccess')->where(array('uid'=>$data['id']))->update(['group_id'=>$data['groupid']]);
            if($save!==false){
                $this->success('修改管理员成功!','lst');
            }else{
                $this->error('修改管理员失败!');
            }
            return;
        }
        $admins=db('admin')->field('id,uname,groupid')->find(input('id'));
        //所属用户组
        $groupRes=db('authGroup')->select();
        $this->assign([
            'admins'=>$admins,
            'groupRes'=>$groupRes,
            ]);
        return view();
    }

    public function del($id){
        if($id==1){
            $this->error('超级管理员不允许删除!');
        }
        $del=db('admin')->delete($id);
        if($del){
            $this->success('删除管理员成功!','lst');
        }else{
            $this->error('删除管理员失败!');
        }
    }

    //ajax修改管理员状态
    public function changestatus(){
        $id=input('id');
        $admins=db('admin')->field('status')->find($id);
        $status=$admins['status'];
        if($status==1){
            db('admin')->where(array('id'=>$id))->update(['status'=>0]);
        }else{
            db('admin')->where(array('id'=>$id))->update(['status'=>1]);
        }
    }

    //退出登录
    public function logout(){
        session(null);
        $this->success('退出成功!','Login/index');
    }
    


   
}

控制器调用

$redis = new Redis();
if($a=$redis->get('name4')){
    $name = $a;
    echo 111;
}else{
    $name = 'lixuemin333';
    $redis->set('name4','lixuemin123');
    echo 222;
}
echo $name;
die;

控制器中存多维数组--会员列表示例

$redis = new Redis();
        $page = empty($this->request->param('page'))?1:$this->request->param('page');
        if($a = $redis->get('admin_'.$page)){
            $adminRes =unserialize($a) ;
        }else{
            $adminRes=db('admin')->alias('a')->field('a.*,g.title')->join('auth_group g','a.groupid=g.id')->paginate(2);
            $redis->set('admin_'.$page,serialize($adminRes));
        }
        $this->assign([
            'adminRes'=>$adminRes,
            ]);
        return view('list');

视图层

<tbody>
                            {volist name="adminRes" id="admin"}
                            <tr>
                                <td align="center">{$admin.id}</td>
                                <td align="center">{$admin.uname}</td>
                                <td align="center">{$admin.title}</td>
                                <td align="center">{$admin.last_time|date="Y-m-d H:i:s",###}</td>
                                <td align="center">
                                    <label>
                                        <input id="{$admin.id}" {if condition="$admin['status'] eq 1"} checked="checked" {/if} {if condition="$admin['id'] eq 1"} disabled="disabled" {/if} class="checkbox-slider colored-darkorange" type="checkbox" onclick="changestatus(this);">
                                        <span class="text" style="cursor:pointer;"></span>
                                    </label>
                                </td>
                                <td align="center">
                                    <a href="{:url('Admin/edit',array('id'=>$admin['id']))}" class="btn btn-primary btn-sm shiny">
                                        <i class="fa fa-edit"></i> 编辑
                                    </a>
                                    <a href="#" onClick="warning('确实要删除吗', '{:url('Admin/del',array('id'=>$admin['id']))}')" class="btn btn-danger btn-sm shiny">
                                        <i class="fa fa-trash-o"></i> 删除
                                    </a>
                                </td>
                            </tr>
                            {/volist}
                        </tbody>

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值