字符串数据类型,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
欢迎访问小程序: