php redis的简单操作实例

一:检测php是否安装php扩展

       phpinfo();

       如果显示如下所示则表示安装了redis扩展,未安装则去找相关文档

二:启动redis服务器  redis-server.exe redis.windows.conf 来启动服务

三:测试连接

<?php

  //连接本地Redis服务

  $redis = new Redis();

  $link= $redis->connect('127.0.0.1',6379);

  echo "Connection to server successfully";

  //查看服务是否运行

 echo "server is running:".$redis->ping();

?>

如果显示如下则表示成功

三:添加redis成员

页面展示redisForm.html

<html>
<head>
<head>
    <title>redis form 提交</title>
</head>
</head>
<body>
    <form action="reg.php" method="post">
        用户名: <input type="text" name="username" /><br/>
        密码: <input type="password" name="password" /><br/>
        年龄: <input type="text" name="age" /><br/>
        <input type="submit" value="注册" />
        <input type="reset" value="重新填写" />
    </form>
</body>
</html>

上面的html来让用户进行添加或者修改redis记录,并将数据提交至reg.php,以下为reg.php的展示

<?php
    require("redis.php");
    $username = $_POST['username'];
    $password = MD5($_POST['password']);        //进行md5加密
    $age = $_POST['age'];
    //自动增加函数incr()
    $uid = $redis->incr("userid");
    //添加用户、hash
    $res = $redis->hmset("user:".$uid,array("uid"=>$uid,"username"=>$username,"password"=>$password,"age"=>$age));
    $redis->rpush("uid",$uid);
    if($res){
        header("location:list.php");          //添加成功则跳转至list.php来显示当前的redis记录列表
    }
?>


四:展示redis记录

以下为list.php,将html与处理逻辑放在一个页面,其中的有分页的简单逻辑,编辑和删除都将记录的id传递到对应的del.php或者edit.php文件进行处理

<html>
<head>
<title>redis 列表页</title>
</head>
<?php
    require("redis.php");
    //获取分页--首先知道总数,每页条数,当前页数,页总数
    //用户总数
    $count = $redis->lsize("uid");
    //每页条数
    $page_size = 3;
    //当前页数
    $page_num = (!empty($_GET['page']))?$_GET['page']:1;
    //页总数
    $page_count = ceil($count/$page_size);
    $ids = $redis->lrange("uid",($page_num-1)*$page_size,(($page_num-1)*$page_size+$page_size-1));
    $ids = $redis->lrange("uid",($page_num-1)*$page_size,(($page_num-1)*$page_size+$page_size-1));
    //取出当前的所有用户
    foreach($ids as $val){
        $data[] = $redis->hgetall("user:".$val);
    }
    $data = array_filter($data);//过滤数组中的空元素
?>
<body>
<table border=1>
    <tr>
        <th>uid</th>
        <th>username</th>
        <th>age</th>
        <th>操作</th>
    </tr>
<?php foreach($data as $val){ ?>
    <tr>
        <td><?php echo $val['uid']; ?></td>
        <td><?php echo $val['username']; ?></td>
        <td><?php echo $val['age']; ?></td>
        <td><a href="del.php?id=<?php echo $val['uid']?>">删除</a>
        <a href="edit.php?id=<?php echo $val['uid']?>">编辑</a></td>
    </tr>
<?php } ?>
<tr>
    <td colspan="4">
        <a href="?page=<?php echo (($page_num-1)<=1)?1:($page_num-1); ?>">上一页</a>
        <a href="?page=<?php echo (($page_num+1)>=$page_count)?$page_count:($page_num+1); ?>">下一页</a>
        <a href="?page=1">首页</a>
        <a href="?page=<?php echo $page_count; ?>">尾页</a>
        当前<?php echo $page_num; ?>页
        总共<?php echo $page_count; ?>页
        总共<?php echo $count; ?>用户
    </td>
</tr>
</table>
</body>
</html>


五:修改redis记录

以下为edit.php文件,进行查询对应的数据展示可以进行修改提交到doedit.php

<html>
<?php
    require("redis.php");
    $uid = $_GET['id'];
    $data = $redis->hgetall("user:".$uid);
?>
<body>
    <form action="doedit.php" method="post">
    <input type="hidden" value="<?php echo $data['uid']; ?>" name="uid" />
        用户名: <input type="text" name="username" value="<?php echo $data['username']; ?>" /><br/>
        年龄: <input type="text" name="age" value="<?php echo $data['age']; ?>" /><br/>
        <input type="submit" value="修改" />
    </form>
</body>
</html>


doedit.php 进行修改的操作

<?php
    require("redis.php");
    $uid = $_POST['uid'];
    $username = $_POST['username'];
    $age = $_POST['age'];
    $res = $redis->hmset("user:".$uid,array("username"=>$username,"age"=>$age));
    if($res){
        header("location:list.php");
    }else{
        header("location:edit.php");
    }
?>

六:删除操作 del.php

<?php
    require("redis.php");
    $uid = $_GET['id'];
    $res = $redis->del("user:".$uid);
    $redis->lrem("uid",$uid);
    if($res){
        header("location:list.php");
    }
?>






展开阅读全文

没有更多推荐了,返回首页