Redis数据类型介绍

Redis支持的5种主要数据类型

 1. String:字符串类型  

最基本的数据类型,可以存储任何类型的字符串,包括二进制数据,最大长度为512M 

2. List:列表类型

链表结构,支持在头部和尾部添加元素,有序的存储数据

3. Hash:散列类型 

可以存储多个键值对类型的数据

4. Set:集合类型

存储任何类型,元素之间无序且不重复

5. Sort Set有序集合类型

和set一样可以存储元素,但每个元素有一个分值,可以根据分值排序

字符串类型

常用命令和使用案例

1.设置key及值,过期时间可以使用秒或毫秒为单位
  • set key value [ex seconds][px millisecods][nx | xx]

set first "hello world"

2.从偏移量开始复写key的特定位的值
  • setrange key offset value

setrange first 6 "Redis"

3.统计字串长度
  • strlen key
4.存在则追加,不存在则创建key及value,返回key长度
  • append key value
5.返回key存储的字符串值,若key不存在则返回null,若key的值不是字符串,则返回错误
  • get key
5.将key中的值减1,key不存在则先初始化为0,再减1
  • decr test
6.将key中的值,减去decrement
  • decrby count 20
7.返回字符串中的字符串,截取范围为start和end,负数偏移量表示从末尾开始计数,-1表示最后一个字符,-2表示倒数第二个字符
  • getrange key start end

getrange first 0 4

8.将key的值加1,如果key不存在,则初始化为0后再加1,主要应用为计数器
  • incr key

incr page

9.将key的值增加increment
  • incrby key increment

incrby page 5

10.为key中所存储的值加上浮点数增量increment
  • incrbyfloat key increment

incrbyfloat num 13.14

11.获取一个或多个key值,空格分隔,具有原子性,设置多个key及值,空格分开,具有原子性
  • mget key [key...]
  • mset key value [key value...]

列表类型

常用命令与使用案例

1.将一个或多个值value插入到列表key的表头
  • lpush key value [value...]

lpush list a b c     list不存在,则创建list

2.从开始位置读取key的值到stop结束
  • lrange key start stop

lrange list 0 -1    从开始读到结束

lrange list 0 2     从0位开始读到2位为止

lrange list 0 -2   从开始读到倒数第2位为止

3.移除并返回列表头元素数据,key不存在则返回nil
  • lpop key 

> llen letter

4.返回列表中第index个值
  • lindex key index

> lindex letter 0
"e"
> lindex letter 2
"C"
> lindex letter -1 //最后1个
"A"
> lindex letter -2 //倒数第2个
"B"

5.将key中index位置的值修改为value
  • lset key index value

lset lsit 3 taaa

6.将value插入到key的末尾
  • repush key value [value...]

rpush list3 a b c

7.将value插入到pivot之前
  • linsert key before pivot value

linsert letter before c c1  值c前面插c1

8.将value插入到pivot之后
  • linsert key after pivot value

linsert letter after c c2  值c后面插入c2

Hash类型

常用命令和使用案例

1. 将hash表中的filed值设置为value
  • hset key filed value

>hset site google 'www.a.cn'

>hset site souhu 'www.f.com'

2.获取hash表中field的值
  • hget key filed

>hget site google

3.同时给hash表中的多个field赋值
  • hmget key field value [field value...]

>hmset site tarena www.t.cn jd www.j.com

4.返回hash表中所有field的值
  • hmget key field [field]

>hmget site goole baidu

5. 返回表中所有field的名称
  • hkeys key

>hkeys site

6.返回hash表中所有field的值
  • hgetall key

>hgetall site

7.返回hash表中所有filed的值
  • hvals key

hvals site

8.删除hash表中多个field的值,不存在则忽略
  • hdel key field [field]

hdel site google baidu

无序集合

常用命令和使用案例

集合中每一个元素都是唯一的,且没有顺序

1.创建集合
  • sadd mylike a b c
2.查看集合成员
  • smembers mylike
3.判断元素是否在集合中
  • sismember mylike c       输出0表示不存在,输出1表示存在
4.输出成员个数
  • scard mylike
5.集合运算

交集

  • sinter mylike helike

差集

  • sdiff mylike helike

合集

  • sunion mylike helike
6.随机获得集合中的元素
  • srandmember helike 2     随机从集合helike中取出两个不同的元素
7.集合中随机弹出一个元素
  • spop helike

有序集合

常用命令和使用案例

1.赋值与查看
  • zadd scores 10 tom 11 jerry 1 dick 15 tim 
  • zrange scores 0 -1  查看所有列名
2.获取和删除
  • zscore scores  tom  获取值
  • zrangebyscore scores 80 90 withscores  获取指定分数范围的元素
  • zincrby scores 3 tom  增加某个元素的分数
  • zcard scores 获取集合元素的个数
  • zcount scores 80 90 获取指定分数范围内的元素个数
  • zrank scores tom  获取tom的排名 升序排列 从0开始记数
  • zrevrank scores tom  获取tom的paiming,降序排列 从0开始计数
  • zrem scores tom  删除元素
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值