Redis教程

02 Redis 数据类型

本文主要是介绍02 Redis 数据类型,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Redis 数据类型

String 类型

字符串类型是Redis中最为基础的数据存储类型,它再Redis中是二进制安全的,这便意味着该类型可以接收任何格式的数据,如JPEG图像数据或Json对象描述信息等。
在Redis中字符串类型的Value最多可以容纳的数据长度是512M。

保存

如果设置的键不存在则为添加,如果设置的键已经存在则修改。

1、设置键值

set key value
  • 例1:设置键为name,值为itcast的数据
set name itcast

2、设置键值以及过期时间,以秒为单位

setex key seconds value

  • 例2:设置键为aa,值为aa,过期时间为3秒的数据
setex aa 3 aa

3、设置多个键值

mset key1 value1 key2 value2 ...
  • 列3:设置键为a1,值为python、键为a2,值为java、键为a3,值为c
mset a1 python a2 java a3 c

4、追加值

append key value
  • 例4:向键为a1中追加值haha

获取

获取:根据据键获取值,如果不存在此键则返回nil

get key
  • 例5:获取键name的值
get 'name'

根据多个键获取多个值

mget key1 key2 key3...
  • 例6:获取键a1、a2、a3
mget a1 a2 a3

删除

查看键命令

键命令

1、查找键,参数支持正则

keys pattern
  • 例1: 查看所有键
keys *

  • 例2:查看名称中包含a的键
keys 'a*'

2、判断键是否存在,存在返回1,不存在返回0

exists key1
  • 例3:判断键a1是否存在
exists a1

3、查看键对应的value的类型

type key
  • 例4: 查看键a1的值类型,为redis支持的五种类型中的一种

4、删除键及对应的值

del key1 key2 ...
  • 例5:删除键a2、a3
del a2 a3

5、 设置过期时间,以秒为单位

  • 如果没有指定过期时间则一直存在,指导使用DEL移除
expire key seconds
  • 例6: 设置键a1的过期时间为30秒
expire 'a1' 30

6、查看有效时间,以秒为单位

ttl key
  • 例7:查看键'a3'的有效时间
ttl a3

hash类型

  • hash用于存储对象,对象的结构为属性、值
  • 值的类型为string

增加、修改

1、设置单个属性

hset key field value
  • 例1:设置键hash的属性name为01

2、设置多个属性

hmset key field 1 value1 field2 value2 ...
  • 例2:设置u2的属性name为itcast、属性age为11
hmset u2 name itcast age 11

获取

1、获取指定键所有的属性

hkeys key
  • 例3:获取键u2的所有属性
hkeys u2

2、获取一个属性的值

hget key field
  • 获取u2的name属性
hget u2 name

3、获取多个属性的值

hmget key field1 field2 ...
  • 例5: 获取键u2属性name、age的值
hmget u2 name ago

4、获取所有属性的值

hvals key
  • 例6: 获取u2所有属性值

删除

1、删除整个hash键及值,使用del命令

del key

2、删除属性, 属性对应的值会被一起删除

hdel key field1 field2 ...
  • 例7:删除键u2的属性age
hdel u2 age

list类型

  • 列表的元素类型为string
  • 按照插入顺序排序

增加

1、在左侧插入数据

lpush key value1 value2 ...
  • 例1:从键为a1的列表左侧加入数据a、b、c
lpush a1 a b c

2、在右侧插入数据

rpush key value1 value2 ...
  • 例2:从键为a1的列表右侧加入数据 0 1
rpush a1 0 1

3、在指定元素的前后插入新数据

insert key before|after 现有数据 新元素
  • 例3:在键为a1的列表中元素b前加入3
insert before b 3

获取

1、返回列表里指定范围内的元素

  • start、stop为元素的下标索引
  • 索引从左侧开始,第一个元素为0
  • 索引可以是负数,表示从尾部开始计数,如-1表示最后一个数
lrange key start stop
  • 例4: 获取键为a1的列表的所有元素
lrange a1 0 -1

2、设置指定索引位置的元素值

  • 索引从左侧开始,第一个元素为0
  • 索引可以是负数,表示尾部开始计数,如-1表示最后一个元素
lset key index value
  • 例5: 修改键为a1的列表中下表为1的元素值为R
lset a1 1 R

删除

1、删除指定元素

  • 将列表中前count次出现的值value的元素移除
  • count > 0: 从头往尾移除
  • count < 0: 从尾往头移除
  • count = 0: 移除所有
lrem key count value
  • 例6.1:向列表a2中加入元素'a'、'b'、'a'、'b'、'a'、'b'
lpush a2 a b a b a b

  • 例6.2:从a2列表右侧开始删除两个b
lrem a2 -2 b

set类型

  • 无序集合
  • 元素为string类型
  • 元素具有唯一性, 不重复
  • 说明:对于集合没有修改操作

增加

1、添加元素

sadd key member1 member2 ...
  • 例1: 向键a3的集合中添加元素zhangsan、lisi、wangwu
sadd a3 zhangsan lisi wangwu

获取

1、返回所有的元素

smembers key
  • 例2: 获取键a3的集合中所有元素
smembers a3

删除

1、删除指定元素

srem key
  • 例3: 删除键a3的集合中元素wangwu
srem a3 wangwu

zset类型

  • sorted set 有序集合
  • 元素为string类型
  • 元素具有唯一性
  • 每个元素都会关联一个double类型的score, 表示权重,通过权重将元素从小到大排序
  • 说明:没有修改操作

增加

1、添加

zadd key score1 member1 score2 member2
  • 向键a4的集合中泰纳及元素lisi、wangwu、zhaoliu、zhangsan 权重分别为4、5、6、3
zadd a4 4 lisi 5 wangwu 6 zhaoliu 3 zhangsan

获取

1、返回指定范围内的元素

  • start、stop为元素的下标索引
  • 索引从左侧开始,第一个元素为0
  • 索引可以是负数, 表示从尾部开始计数,如-1表示最后一个元素
zrange key start stop
  • 例2: 获取a4集合中所有的元素
zrange a4 0 -1

2、返回score值在min和max之间的成员

zrangebyscore key min max
  • 例3:获取键a4的集合中权限值在5和6之间的成员
zrangeby a4 5 6

3、返回成员member的score值

zscore key member
  • 例4:获取键a4的集合中元素zhangsan的权重
zscore a4 zhangsan

删除

1、删除指定元素

zrange key member1 member2 ..
  • 例5: 删除集合a4中元素zhangsan
zrem a4 zhangsan

2、删除权重在指定范围的元素

zremrangebyscore key min max
  • 例6: 删除集合a4中全现5、6之间的元素
zremrangebyscore a4 5 6

这篇关于02 Redis 数据类型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!