redis字符串基本操做

redis之字符串类型:
字符串类型是redis中最基本的数据类型,同时它也是memcached中仅有的数据类型。redis字符串类型的键能存储任何形式的字符串,包括二进制数据,例如,存储json化的对象甚至是一张图片(能够将图片编码成二进制的格式存储)。另外、一个字符串类型的值最多能存储512兆的数据。字符串类型是其余四种数据类型的基础,其它数据类型和字符串类型的差异从某种角度来讲只是组织字符串的形式不一样,例如,列表类型是以列表的形式组织字符串,集合类型是以集合的形式组织字符串。 前端

redis字符串类型应用场景:
一、高速缓存HTML片断或者页面
二、高速缓存关系型数据库查询的结果
三、缓存用户的会话session信息(能够实现分布式的session共享)
四、统计网站的访问者的总数量,天天用户的注册数,用户活跃度/用户签到
五、限制api的访问频率
六、分布式锁,防止多个请求同时到达,而且缓存中无请求须要响应的数据,多个请求同时访问db
七、防止重复提交,因为前端的请求可能响应会慢,用户可能会屡次点击请求,实际上是没有必要的redis

redis字符串类型的基本命令
一、set key value [EX seconds] [PX milliseconds] [NX|XX]
功能:给key设置一个字符串类型的值。默认状况下,若是该key已经存在与redis中,不管以前它是什么数据类型,原来的key的值会被覆盖,而且以前的生存时间会被遗弃;若是key不存在,则给key设value值。
参数介绍:
EX/PX:过时时间,EX表明以秒为单位,PX表明以毫秒为单位,EX和PX不能同时设置
NX:只有当key不存在时才容许设置,也就是使用改参数时只容许新建key
XX:只有当key存在时才容许设置,也就是使用改参数时只容许更新key
返回值:设置成功返回OK,设置失败返回nil数据库

二、mset key value [key value...]
功能:同时为多个key分别设置字符串类型的值,若是其中有的key已经存在于redis之中,则这些key的值将会被新设置的值覆盖。mset是原子的,要么全都设置成功,要么全都设置失败。
返回值:成功返回OK,失败返回niljson

三、setex key seconds value
功能:给一个key设置字符串类型的值并指定生存时间,当key已经存在于redis中的时候,原来的key的值不管是什么类型都会被新的值覆盖,而且其生存信息也会被遗弃,所以可见,此命令就彻底等同于set key value EX second。另外该命令是原子性的,设置失败或者指定生存时间失败都会恢复到初始状态
返回值:若是成功,返回OK,失败则返回错误信息api

四、psetex key milliseconds value
功能与setex一致,只不过指定的生存时间是以毫秒为单位的缓存

五、setnx key value
功能:若是key不存在于redis中,为其设置字符串类型的value;若是key存在,则设置失败,至关于set key value nx
返回值:成功返回1,失败返回0session

六、msetnx key value [key value...]
功能:同时为多个不存在于redis中的key设置字符串类型的值,若是其中某一个key存在于redis之中,则会设置失败
返回值:设置成功返回1,失败则返回0app

七、setrange key offset value分布式

八、append key value
功能:给字符串类型的值后面追加新的value
返回值:
一、若是key不是字符串类型的,则报错
二、若是key不存在则先给key赋值"",而后追加新的字符串memcached

九、get key
功能:查询字符串类型的key的值
返回值:一、若是key不存在,返回nil
二、若是key不是字符串类型,返回相应的错误信息
三、key存在且是字符串类型,返回key的值

十、mget key [key...]
功能:查询全部key的字符串类型的值,若是其中存在key不是字符串类型或者不存在,返回nil,此命令执行不会失败
返回值:若是key是字符串类型,则返回key的值,若是key不存在或者key不是字符串类型的值,则返回nil

十一、getrange key start end
功能:截取字符串类型的key值的从offset的start到end的部分(先后都包含)
返回值:
一、若是key是字符串类型的值,则返回截取后的结果
二、若是key不是字符串类型的值,保错

十二、strlen key
功能:获取字符串类型的键key对应的值的字节长度(英文字母1字节,中文在Windows中占2个字节,中文在Linux中占3个字节)
返回值:
一、若是key键不存在,返回0
二、若是key为非字符串类型的键,报错WRONGTYPE
三、若是key存在且为字符串类型,获得key的字符长度

1三、getset key value
功能:原子性的给一个key设置value并将旧值返回
返回值:
一、若是key存在且为字符串类型,则返回key的旧值并为key设置新值为value
二、若是key不存在,返回nil
三、若是key不是字符串类型,则返回相应的错误

1四、incr key
功能:为字符串类型的且能表示整数的key自增1,比返回自增后的结果。若是key不存在,则会初始化该key为0,而后自增1,并返回自增后的结果
返回值:
一、key不存在或者key是能够表示整数数字(能够为负整数或者0)的字符串类型,返回自增1后的结果
二、若是key不是字符串类型的数据,报错

1五、incrby key increment
功能与返回值都相似于incr key类似,只不过,这里自增的量为increment(这里increment必须为整形数,不论是负数仍是整数亦或是0)

1六、incrbyfloat key increment
功能:为值为数值的(不论是整数仍是浮点数)自动增加increment(这里increment只须要是数值类型便可,也能够用科学计数法表示)
返回值:
一、若是key能够表示为浮点数类型的值,则返回增长浮点类型的increment的结果
二、若是key不是数字类型,或者不是字符串类型,报错

1七、decr key
功能:为整数类型的字符串自减一,若是key不存在,则先设置key为0,而后再自减一
返回值:
一、若是key为整数类型的字符串,则自减一
二、若是key不是整数类型的字符串或者是其余类型的数据,报错

1八、decrby key decrment
功能:与incrby同样,这里只不过是减

1九、setbit key offset value

20、getbit key offset
功能:对key所储存的字符串值,获取指定偏移量上的位(bit)。当offset比字符串值的长度大,或者key不存在时,返回0 。
返回值:字符串值指定偏移量上的位


2一、bitcount key [start end]
功能:计算位为1的个数

2二、bitop operation destkey key [key ...]
operation:
一、and
二、or
三、not
四、xor

2三、bitpos key bit [start] [end]

相关文章
相关标签/搜索