实例讲解redis字符串类型

作者: 闲睡猫 | 来源:发表于2017-07-23 12:04 被阅读146次

字符串类型简介

字符串类型是Redis中最基本的数据类型,能存储任何形式的字符串

字符串类型

相关命令

命令 行为
GET key 获取值
SET key value 设置值
DEL key 删除值(此命令可用于所有类型)
GETSET key value 将key值设为value,返回旧值
APPEND key value 将value追加到key原来的值末尾
GETRANGE key start end 截取子字符串
INCR key 当值为数字时,每次递增1
INCRBY key increment 增加指定的整数
INCRBYFLOAT key increment 增加浮点数
DECR key 当值为数字时,每次递减1
DECRBY key decrement 减少指定的整数
MGET key [key...] 返回一个或多个key的值
MSET key value [key value ...] 同时设置一个或多个 key-value 对
MSETNX key value [key value ...] 当key都不存在时,设置多个key-value对
SETEX key seconds value 将值 value 关联到 key,生存时间以秒为单位
PSETEX key milliseconds value 以毫秒为单位
SETNX key value 将 key 的值设为 value ,当且仅当 key 不存在
SETRANGE key offset value 替换给定字符串
STRLEN key 返回 key 所储存的字符串值的长度。

了解更多相关命令

redis-cli

[senlong@linux ~]$ redis-cli
127.0.0.1:6379> set hello world
OK
127.0.0.1:6379> get hello
"world"
127.0.0.1:6379> del hello
(integer) 1
127.0.0.1:6379> get hello
(nil)

phpredis

class StringType extends Base
{
    public function get($key='name') {
        echo $this->redis->get($key);
    }

    public function set(Request $request, $key, $value) {
        if ($key && $value) {
            $this->redis->set($key, $value);
            echo '设置成功';
        }
    }

    public function del(Request $request, $key='name') {
        $this->redis->del($key);
    }

    public function incr($key) {
        $this->redis->incr($key);
        echo $this->redis->get($key);
    }
}

实践

需求:用redis实现统计博客文章的阅读数量

  • 写入文章

将文章键名命名为 post:id:data (类型:id:属性) 是出于惯例,便于理解。如 post:12:data 表示:第12篇文章的内容

public function setPost() {
    $title = '标题-';
    $content = '内容-';
    $time = date('Y-m-d H:i:s', time());
    // 获取文章自增id
    $postId = $this->redis->incr('posts:count');
    $postData = $title . $content . $time;
    // 写入文章
    $this->redis->set("post:{$postId}:data", $postData);
}
  • 获取文章并统计阅读数量

post:{$id}:page.view 表示文章阅读数,多个单词用 . 相连。如page.view即为page与view相连

/**
 * 每次刷新该方法,阅读数都加1
 * @author zhongsenlong 2017-07-23
 * @param  Request $request [description]
 * @param  integer $id      [description]
 * @return [type]           [description]
 */
public function getPost(Request $request, $id=1) {
    $postData = $this->redis->get("post:{$id}:data");
    if ($postData) {
        echo $postData;
        echo "<br />";
        // 文章阅读次数+1
        $pageView = $this->redis->incr("post:{$id}:page.view");
        echo "该文章被阅读了{$pageView}次";
    } else {
        echo '无此文章';
    }
}

源码下载

源码下载地址

示例代码路径:thinkphp5\application\redis\controller\StringType.php

相关文章

  • 实例讲解redis字符串类型

    字符串类型简介 字符串类型是Redis中最基本的数据类型,能存储任何形式的字符串 相关命令 了解更多相关命令 re...

  • 9 Redis 字符串(String)

    Redis 字符串数据类型的相关命令用于管理 redis 字符串值,基本语法如下: - 语法 - 实例 在以上实例...

  • Redis 字符串(String)

    Redis 字符串数据类型的相关命令用于管理 redis 字符串值,基本语法如下:语法 实例 在以上实例中我们使用...

  • Redis学习之路(3)命令-String(字符串)、hash(

    Redis 数据类型 Redis支持5种数据类型: 本段介绍String(字符串) 实例 以上就是目前知道的所有关...

  • Redis数据类型和操作

    本例为redis单实例模式 基本数据类型 String --最常用的数据类型 String 除了保存字符串之外,可...

  • redis的数据结构

    redis 类型 阿里大牛讲解Redis——Redis基本类型及其数据结构介绍

  • Redis--数据类型命令(一)

    Redis字符串(string) Redis字符串数据类型的相关命令用于管理redis字符串值 语法: redis...

  • 2019-04-17 Redis 命令(5)

    语法 Redis 客户端的基本语法为:. $ redis-cli 实例 以下实例讲解了如何启动 redis 客户端...

  • Redis命令

    语法 Redis 客户端的基本语法为: $ redis-cli 实例 以下实例讲解了如何启动 redis 客户端:...

  • Redis对象类型和底层数据结构

    Redis对象类型(类型常量:对象名称) REDIS_STRING: 字符串对象 REDIS_LIST: ...

网友评论

    本文标题:实例讲解redis字符串类型

    本文链接:https://www.haomeiwen.com/subject/betmkxtx.html