Redis数据类型及基本操作

目录

string

基本操作

添加及修改数据

获取数据

删除数据

对key的值进行增加和删减

设定key的生命时间

hash

基本操作

获取数据

删除数据

检查是否有数据 

list 

基本操作

添加及修改数据

 获取数据

set

基本操作

添加数据

获取数据

删除数据 

sorted_set

基本操作

添加数据

获取数据 

删除数据 

排序数据 

Key

基本操作

查询key

key改名操作

按key获取类型

key是否存在

key删除

设置key的生命时间

获取key的生命时间

把key转为永久性



string

存储的数据:单个数据

数据格式:一个存储空间保存一个数据

基本操作

添加及修改数据

set key value    #添加单个数据
mset key1 value1 key2 value2 key3 value3...    #通过key添加多个数据
append key value    #有数据就追加,没有数据则进行新建操作,追加后返回字符串的长度

获取数据

通过key获取value,有数据则返回value,没有数据则返回nil

get key    #通过key获取value,有数据则返回value,没有数据则返回nil
mget key1 key2 key3    #获取多个数据
strlen key    #通过key获取string的长度

删除数据

删除后返回(integer)1 则代表删除成功;返回(integer)0 则代表删除失败

del key

对key的值进行增加和删减

incr key  #增加1

incrby key increment  #对数据进行指定数值的增加
#示例
incrby id 10 #增加10

incrbyfloat key increment  #对数据进行小数的追加
#示例
incrbyfloat id 0.1  #增加0.1

decr key  #减去1

设定key的生命时间

当设置时间到了,再去get则会返回一个nil

setex key seconds value  #seconds写时间 单位为秒
psetex key milliseconds value  #millisconds写时间 单位为毫秒

hash

采用的是一个key对应很多数据,在很多数据中包含field和value,一个field对应一个value,也就是一个key对应多个键值对的数据

主要用途为存储数据

基本操作

添加及修改数据

hset key field value  #相比string 需要多写个field 插入单个数据
hmset key field value field1 value1 field2 value2  #插入多个数据

获取数据

hget key field  #通过key和field获取单个数据数据
hmget key field1 field2 field3..  #通过key获取多个数据
hgetall key field  #通过key和field获取全部数据数据

hkeys key    #查询所有的key
hvals key    #查询所有的values

删除数据

hdel key field field1 field2...    #返回(integer)1代表成功,0则是失败

检查是否有数据 

hlen key    #获取长度
hexists key field    #检查是否为空 返回0则代表没有 1为有数据

list 

可以保存多个数据,底层采用双向链表的结构,对数据进入的顺序进行区分,可以体现进入的顺序

基本操作

添加及修改数据

lpush key value value1 value2...    #从左边进行添加
rpush key value value1 value2...    #从右边进行添加

 获取数据

#通过索引范围获取数据 如果通过lpush添加数据 输出则为倒序 通过rpush添加数据输出则为顺序
lrange key start stop    
#例1: lrange student 0 10  表示从索引0至索引10的范围获取数据 
#例2: lrange student 0 -1  其中-1表示最后一个,则可以进行全部查看

#通过索引获取数据
lindex key start stop 
#例:lindex student 10  获取10号索引的数据

#查看长度
len key

#获取并移除数据 将数据取出打印,并从list中移除
lpop key  #从左边获取并移除
rpop key  #从右边获取并移除

#在规定的时间内将数据进行获取并移除
blpop key key1 timeout
brpop key key1 timeout
#例:blpop student 15 在15秒内对数据进行添加 并且操作指令对数据进行获取并移除,超过15秒,数据则消失

set

相对于hash取消了key,则是一个field对应一个value,提供更高的内部存储机制,更加便于高效的查询,并且值是不可以重复的

基本操作

添加数据

sadd key member member1...    #返回1代表成功,返回0代表失败

获取数据

smembers key  #通过key获取全部数据
scard key  #获取数据的总量
sismember key member  #判断是否有指定的member 1则代表包含 0代表不包含

删除数据 

srem key member member1...    #通过key删除数据

sorted_set

基于set的存储结构,提供了一种排序方式,更加的有利于数据的展示

基本操作

添加数据

zadd key score member score1  member1...
#例: zadd student 8 kobe

获取数据 

#获取数据总量
zcard key

#按条件获取数据总量
zcount key min max

#对于score进行升序输出,添加whitscores则展示member与score,不加则只展示member
zrange key start stop whitscores
#例: zrange student 0 -1  其中0代表从0开始 -1则代表是从最后一个结束 全部打印


#对于score进行降序输出,添加whitscores则展示member与score,不加则只展示member
zrevrange key start stop whitscores
#例: zrevrange student 0 -1  其中0代表从0开始 -1则代表是从最后一个结束 全部打印

#按照需要的条件进行数据获取(升序)
zrangebyscore key min max withscores 
#例: zrangebyscore student 40 60 whitscores 表示获取40-60的学生

#按照需要的条件进行数据获取(降序)
zrevrangebyscore key min max withscores 
#例: zrevrangebyscore student 40 60 whitscores 表示获取40-60的学生

#取集合交集的求和 操作后查询展示 注意:只有所有集合都有的数据才会求和
zinterstore destination numkeys key key1
#例: zinterstore destination(新保存的集合名字) numkeys(要操作的集合个数) key(操作的key名称) key1... 

删除数据 

#通过key对数据进行删除
zrem key member member1...  

#通过条件对数据进行删除
zremrangbyrank key start stop
zremrangebyscore key min max

排序数据 

#按照索引进行升序排列
zrank key member
#例: zrank student kobe 则会输出kobe排名第几(返回形式为索引)

#按照索引进行降序排列
zreverank key member

Key

基本操作

查询key

keys pattern  #pattern为操作匹配的语法格式
#例: keys *    表示查看所有的key
     keys stu*  表示查看以stu开头的key
     keys *dent    表示查看以dent结尾的key
     keys ?dent    ?为占位符,一个?代表一个字符进行模糊查询
     keys k[ob]be  查询以k开头,中间包含的字母为o或b的key,都有则都会输出

key改名操作

rename key newkey #将key进行改名,但是注意如果新设置的key与原先的key有重复,则会覆盖原先的key

renamenx key newkey #如果要更改的key,原先已有,则会更改失败

 按key获取类型

type key

key是否存在

exists key

key删除

del key

设置key的生命时间

expire key seconds  #按秒来设置key的生命时间
pexpire key milliseconds  #按照毫秒设置key的生命时间

获取key的生命时间

ttl key  #查看key的有效期还有多久,若返回-2则代表要查询的key已经消失,若返回-1则代表key存在

 把key转为永久性

persist key  #当一个key处于时间控制的状态,使用此操作转为永久性

 

 

 

你可能感兴趣的:(redis,数据库,database)