redis
Posted ppxmaples
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis相关的知识,希望对你有一定的参考价值。
redis的五种数据类型之String
1、string类型
一个键最多可以存储512MB
1》SET:设置key对应的value
语法:SET key value[EX seconds]等等
SET testStr1 ‘this is a test1‘
SET testStr2 ‘this is a test2‘
注意:如果key已经存在数据库中,那么同名会产生覆盖
有关于EX,PX,NX,XX内容可以参考Github
2》GET:根据key来找到对应的value
语法:GET key
GET testStr1
GET testStr2
当然我们在第二节的时候说过,如果没有对应的值get XXX这样我们会得到nil的返回值
以上的截图就是我们set两个,get两个,重复设置,覆盖一个的结果啦
注意:如果key不是字符串就会报错
3》SETRANGE:设置字符串的一部分
语法:SETRANGE key offset value
SETRANGE testStr1 3 your
以下自己测试
SETRANGE testStr1 4 not
SETRANGE testStr1 2 5 long
SETRANGE testStr1 6 test
注意:如果设置的key原来的字符串长度比偏移量小,就会以零字节(x00)填充
4》GETRANGE:返回字符串的一部分
语法:GETRANGE key index
GETRANGE testStr1 0 4
GETRANGE testStr1 0 -3
GETRANGE testStr1 -4-2
GETRANGE testStr1 0 1000 获取所有的字符串
我们的下表是从零开始截取到4的位置
同样的我们的下表也支持负数,和我们python的range函数差不多啦
5》GETSET:是指新key的值,返回旧的key
SET testStr3 ‘king‘
GET testStr3
GETSET testStr3 ‘queen‘
实现字符串自增长的INCR,作用是我们常见到的计数器
注意:当可以不存在的时候,GETSET返回时nil
6》MSET:一次设置多个键值对
MSET key value [key value...]
MSET testStr4 ‘king‘ testStr5 ‘queen‘
7》MGET:一次获取多个键值对
MGET key key ...
MGET testStr4 testStr5
如果没有这个key也是不会报错的,会返回一个nil
8》STRLEN:获取字符串的长度
STRLEN testStr4
如果没有key则会返回(integer)0
EXISTS key检测可以是否存在,返回值是0不存在,返回值是1存在
9》SEXNX:只有key不存在的时候才能设置成功
用法和SET一样,相当于EXISTS + SET的作用
10》SETEX:设置一个键多久时间有效(规定时间内可以获得该数据)单位:秒
语法:SETEX key seconds value
SETEX time 60 ‘times‘
利用TTL获取剩余时间
语法:TTL key
还有一个PSETEX设置同上,时间是以毫秒为单位,PTTL获取时间
11》MSETNX:一次设置多个键值对,只有所有的可以不存在时,才会设置成功
语法:MSETNX key value [key value]
MSETNX testStr5 ‘a‘ testStr6 ‘b‘
12》INCR:把key中存储的数字加1
语法:INCR key
SET counter1 10
GET counter1 -->10
INCR counter1 -->11
INCR counter1 -->12
INCR counter1 -->13
这种只能加1,如果相加其他的怎么办?
这里提供了INCRBY,INCRBYFLOAT前者加整数指定步长,后者加上指定浮点数步长
语法:INCRBY key [步长]
INCRBYFLOAT key [浮点步长]
INCRBY counter1 10
GET counter1
INCRBY counter1 3
GET counter1
INCRBY counter1 3.1
INCRBYFLOAT counter1 1.2
GET counter1
INCRBYFLOAT counter1 3
GET counter1
13》DECR:将key中存储的数字减1
语法和INCR一样就不过多的赘述,同样的也有DECRBY但是没有DECRBYFLOAT,这点就要注意下
以上就是有关String的大部分常用操作
以上是关于redis的主要内容,如果未能解决你的问题,请参考以下文章