Redis(五)string数据类型

字符串数据类型,redis最简单的数据类型,一个健对应一个值。

1:数据结构:数据不可重复,重复会覆盖。
[
    "camellia1":"90",
    "camellia2":"100",
    "camellia3":"90"
]
2:操作命令:这里分两种,linux、PHP
(1):linux命令:

首先登陆redis,就像登陆mysql一样,执行命令:

redis-cli //进入 redis 操作界面
Set::设置值
set camellia 'my name is camellia'  // 返回OK

这里需要注意一下,输入的字符一定是连续的,不能有空格,如果有空格,则需要将整个字符串用单引号或者双引号括起来

Get:取值
get camellia    // 返回  "my name is camellia"
Del:删除
del camellia                  // 返回 (integer) 1

再次执行

get camellia                 //返回 (nil),证明删除成功
(2):PHP命令
第一步,链接redis数据库
$redis = new Redis(); // 实例化
$redis->connect(127.0.0.1, 6379); // 连接redis数据库
//$auth = $redis->auth("test123"); //验证密码,如果你的redis设置了密码

设置值,成功返回 boolean true

$redis->set("camellia"," my name is camellia "); // 设置一个值,成功返回true

获取值,成功返回:值的内容

$redis->get("camellia"); // “my name is camellia”

删除值,成功返回:被删除的个数

$redis->delete("camellia"); // 成功返回 1

再次获取camellia,无法获取,返回false

$redis->get("camellia"); // boolean false
3:基于redis字符串string类型的简单缓存实现
/**
     * redis限制游客访问次数
     */
    public function RedisLimitVisit()
    {
        $redis = new \Redis();
        $redis->connect('127.0.0.1', 6379); //连接 Redis
        if (!$redis->exists(get_real_ip())){
            //第一次访问
            $redis->set(get_real_ip(),1,5*60); // 设置5分钟过期时间并设置初始值1
        }else{
            //已经记录过IP
            if ($redis->get(get_real_ip()) < 90){ //判断IP有没有到达拉黑阈值
                $redis->incr(get_real_ip()); //次数加一
                return true;
            }else{
                return false;
            }
        }
    }
4:string数据类型其他命令

命令及描述

SET key value 
#设置指定 key 的值
GET key 
 # 获取指定 key 的值。
GETRANGE   key start end 
  #返回 key 中字符串值的子字符
GETSET   key value
#将给定 key 的值设为 value ,并返回 key 的旧值(old value)。
GETBIT   key offset
  #对 key 所储存的字符串值,获取指定偏移量上的位(bit)。
MGET key1 [key2..]
  #获取所有(一个或多个)给定 key 的值。
SETBIT   key offset value
  #对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。
SETEX   key seconds value
  #将值 value 关联到 key ,并将   key 的过期时间设为 seconds (以秒为单位)。
SETNX   key value
  #只有在 key 不存在时设置 key 的值。
SETRANGE   key offset value
  #用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始。
STRLEN   key
  #返回 key 所储存的字符串值的长度。
MSET key value [key value   ...]
  #同时设置一个或多个 key-value 对。
MSETNX   key value [key value ...] 
  #同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。
PSETEX   key milliseconds value
  #这个命令和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间,而不是像 SETEX 命令那样,以秒为单位。
INCR key
  #将 key 中储存的数字值增一。
INCRBY   key increment
  #将 key 所储存的值加上给定的增量值(increment) 。
INCRBYFLOAT   key increment
  #将 key 所储存的值加上给定的浮点增量值(increment) 。
DECR key
  #将 key 中储存的数字值减一。
DECRBY   key decrement
  #key 所储存的值减去给定的减量值(decrement) 。
APPEND   key value
 #如果 key 已经存在并且是一个字符串, APPEND 命令将指定的 value 追加到该 key 原来值(value)的末尾。

关于redis string数据类型的更多命令,请参考:

http://www.redis.cn/commands.html

以上基本上是我看的redis string数据类型的基本内容,有不足的地方,还请大佬指出。

有好的建议,请在下方输入你的评论。

欢迎访问个人博客
https://guanchao.site

欢迎访问小程序:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值