数据库java基础

Redis 基本数据类型

2021-07-07  本文已影响0人  SheHuan

在 Redis 中的数据以 key-value 键值对的形式存储,其中 key 是字符串类型的,value 可以有不同的类型,我们所说的 Redis 数据类型,也就是 value 的类型。下边我们来了解一些 key 的常用操作,以及 value 的数据类型。

Redis 中默认有16个数据库,默认使用0号数据库来保存数据,可以通过select index切换,index 是数据库编号[0, 15]

一、key 的常见操作

二、String

Redis 中的字符串是动态的,内容是可以修改的,一般情况下分配的内存空间是大于需要的,扩容时会在现有内存空间上加倍,最大分配512M内存空间。

set name zhangsan
setex name 10 zhangsan
setnx name lisi
get name
getrange name 0 4
getrange name 0 -1
setrange name 5 wuji
append name feng
getset name lisi
strlen name
incr age
incrby age 2
decr age
decrby age 2
mset k1 v1 k2 v2
mget k1 k2
msetnx k1 v1 k2 v22

三、List

List 简单的理解就是列表,里边的元素可以重复,本质上是一个链表,在 Redis 中 List 可以实现队列(rpush+lpop)和栈(rpush+rpop)的功能。

lpush list1 a
lpush list1 b
lpush list1 c
lrange list1 0 1

结果如下:


rpush list2 x y z

再使用lrange查询一下,注意对比和上边lpush方式插入数据后的查询结果:

lpop list1 1
rpop list1 1
lrem list2 2 x
lindex list2 0
ltrim list2 3 5
rpoplpush list2 list1
linsert list2 before y x
linsert list2 after y z
lset list2 1 m
llen list2

四、Set

Set 集合中的元素是无须、不会重复的。

sadd set1 a
sadd set1 a b c
smembers set1
srem set1 b c
spop set1 1
spop set1 2
srandmember set1 1
srandmember set1 2
smove set1 set2 c
sdiff set1 set2
sinter set1 set2
sunion set1 set2
sdiffstore set3 set1 set2
scard set1

五、Hash

在 Hash 类型的数据结构中,value 是一个 field-value 键值对,类似于 Map。

hset hash1 name zhangsan

也可以批量添加

hset hash1 age 18 email zhangsan@163.com

之前还可以使用hmset命令进行批量添加,但在 Redis4.0.0 后已经过时,不建议使用了。

hget hash1 name
hmget hash1 age mail
hsetnx hash1 age 20
hkeys hash1
hvals hash1
hgetall hash1
hdel hash1 age email
hexists hash1 name
hincrby hash1 age 2
hlen hash1

六、ZSet

ZSet 可以看做是 Set 的增强版,增加了一个score(成绩/得分)字段,是数字,可以用来排序,这样也就保证了集合中数据的有序性。

zadd zset1 3 a
zadd zset1 2 b 1 c 5 d 4 e
zrange zset1 0 -1 withscores
zrevrange zset1 0 -1 withscores
zrangebyscore zset1 2 4 withscores
zrevrangebyscore zset1 4 2 withscores

还可以添加分页功能limit offset count,取出 score 最高的前几个元素

zrevrangebyscore zset1 +inf 0 withscores limit 0 3
zscore zset1 d
zrem zset1 e
 zcard zset1
zcount zset1 2 4
zincrby zset1 2 d
zrank zset1 d
上一篇下一篇

猜你喜欢

热点阅读