美文网首页Redis
redis-API-字符串

redis-API-字符串

作者: PHP的艺术编程 | 来源:发表于2018-12-11 11:49 被阅读0次
字符串.png

值最大不能超过512MB

设置值

setex和setnx

set key value [ex 秒] [px 毫秒] [nx|xx]

  • nx:键必须不存在,才可以设置成功,用于添加
  • xx:键必须存在,才可以设置成功

获取值

get key

  • 键不存在返回nil

批量设置值

mset key value [key value ...]

批量获取值

mget key [key ....]

计数

incr key

incr命令用于对值做自增操作,返回结果分为三种情况:
·值不是整数,返回错误。
·值是整数,返回自增后的结果。
·键不存在,按照值为0自增,返回结果为1。

除了incr命令,Redis提供了decr(自减)、incrby(自增指定数字)、
decrby(自减指定数字)、incrbyfloat(自增浮点数):

decr key
incrby key increment
decrby key decrement
incrbyfloat key increment

追加值

append key value

字符串长度

strlen key

设置并返回值

getset key value

127.0.0.1:6379> getset hello world
(nil)
127.0.0.1:6379> getset hello redis
"world"

设置指定位置字符

setrange key offeset value

127.0.0.1:6379> set redis pest
OK
127.0.0.1:6379> setrange redis 0 b
(integer) 4
127.0.0.1:6379> get redis
"best"

获取指定位置字符

getrange key start end

start和end分别是开始和结束的偏移量,偏移量从0开始计算

内部编码

字符串类型的内部编码有3种:
·int:8个字节的长整型。
·embstr:小于等于39个字节的字符串。
·raw:大于39个字节的字符串。
Redis会根据当前值的类型和长度决定使用哪种内部编码实现。

使用场景

限速:
手机短信验证,比如一分钟不能超过5次
一些网站限制一个IP地址不能在一秒钟之内访问超过n次

2.共享session
一个分布式Web服务将用户的Session信息保存在各自服务器中,这样会造成一个问题,出于负载均衡的考
虑,分布式服务会将用户的访问均衡到不同服务器上,用户刷新一次访问可
能会发现需要重新登录---可以使用Redis将用户的Session进行集中管理
3.计数

注意:
设计合理的键名,有利于防止键冲突和项目的可维护性,比较推荐的方式是使用“业务名:对象名:id:[属性]”作为键名。在能描述键含义的前提下适当减少键的长度,从而减少由于键过长的内存浪费。

相关文章

  • Redis-API-字符串

    字符串的值能够表示数字(整数、浮点数),甚至是二进制(图片、音频、视频),但是值不能超过512MB。 命令 设置值...

  • redis-API-字符串

    值最大不能超过512MB 设置值 setex和setnx set key value [ex 秒] [px 毫秒]...

  • Redis-API-哈希

    哈希,也叫作字典或关联数组,指的是健值本身又是一个键值对结构。伪代码如下: 命令 设置值 获取值 删除字段 计算个...

  • redis-API-列表

    文档地址 列表类型有两个特点: 第一、列表中的元素是有序的,这就意味着可以通过索引下标获取某个元素或者某个范围内的...

  • redis-API-集合

    文档地址 内部编码 intset(整数集合): 当集合中的元素都是整数且元素个数小于set-maxintset-e...

  • redis-API-哈希

    文档地址 内部编码 ziplist(压缩列表) hashtable(哈希表) 编码的选择 内部编码默认是zipli...

  • redis-API-有序集合

    内部编码 ziplist(压缩列表): 当有序集合的元素个数小于zset-max-ziplistentries配置...

  • redis-API-全局命令

    单线程架构 纯内存 非阻塞i/o 单线程避免了线程切换和竟态产生的消耗 概要: 使用多路复用技术 全局命令 查看所...

  • Redis-API-全局变量

    全局命令 Redis 有 5 种数据结构,它们是键值对中的值,对于键来说有一些通用的命令。 查看所有的键 键的总数...

  • Javascript知识点整合

    字符串 单行字符串: ‘字符串’或“字符串” 多行字符串: `多行字符串` 字符串操作: 字符串连接‘+’号 长度...

网友评论

    本文标题:redis-API-字符串

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