Redis五种数据类型简单操作命令

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_41611106/article/details/83348927

目前正在学习Redis,总觉得好记性不如烂笔头,所以还是把课上学到得简单得东西做一个笔记,这样子便于以后学习。
首先安装Redis。
由于官网上没有Windows系统的Redis软件,但是微软一直在做这个Windows的Redis。下载地址:https://github.com/MSOpenTech/redis/releases
下载之后进行简单的配置环境变量就可以用了。
首先将下载的文件解压,将解压后的位置添加到环境变量里,我的地址如下:D:\Software\Redis-x64-3.0.504
然后打开我们的终端(cmd)
先启动服务器

redis-server

然后打开第二个终端,运行以下的命令,就可以操作Redis了

redis-cli

进入到Redis之后,我们可以进行简单的添加数据操作。

一 字符串操作命令

(1)创建

set address xicheng

然后使用get address 就可以取出name字段的信息
(2)取出

get address

具体效果如下:
在这里插入图片描述

(3)创建多个字段使用mset

mset map xicheng no 662 road xuejiananlu36

(4)查询多条记录使用mget

mget map no road

具体效果如下:
在这里插入图片描述
(5)查询字段的类型使用type

type map

这是由于Redis总共只有5种数据类型,分别为 字符串(string)、哈希表(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)
string包含double int float等
这是查询出map的数据类型是string

(6)对数字的增加与减少
默认加一

incr no

自定义增加限度

incrby no 100

默认减一

decr no 

自定义减少限度

decrby no 100

具体效果如下:
在这里插入图片描述

二 哈希(Hash)操作命令

(1)创建一个哈希表

hmset teacher no 23 name "Miss Liu" age 18 sex "female" wage 6785.5

在这里插入图片描述
(2)获取字段的值

hmget teacher no sex name 或者 hget teacher no

在这里插入图片描述
(3)将某个field的值设置为vlaue

hset teacher no 662

在这里插入图片描述
这里虽然提示 0 但是还是更改过来了的

(4) 获取指定表的所有field和value

hgetall teacher 

在这里插入图片描述
(5)获取表中的字段数

hlen teacher

在这里插入图片描述
(6)获取表中的所有字段

hkeys teacher

在这里插入图片描述
(7)获取表中的所有值

hvals teacher

在这里插入图片描述
(8)删除一个或多个字段

hdel teacher no
hdel teacher name female sex

在这里插入图片描述
(9)检查某字段是否存在

hexists teacher no
hexists teacher wage

在这里插入图片描述
(10 )给指定字段添加增量

hincrby teacher no 456

在这里插入图片描述

(11)给指定浮点数字段增加

hincrbyfloat teacher wage 0.5

在这里插入图片描述
这里可能会有点疑问,为什么精度不一样,我试了一些数字,发现结果为0.5 或者1.0的,则精度不会改变,其他则会改变浮点数的精度。

三 列表(List)操作命令

(1) 将一个或多个值插入到列表key的头部

lpush list1 1 2 3 4 5 6 7 8 9

(2) 将一个或多个值插入到列表key的尾部

rpush list2 1 2 3 4 5 6 7 8 9

(3) 获取列表key中指定区间内的元素,0表示第一个元素,-1表示最后一个元素

lrange list1 0 -1
lrange list2 0 -1

在这里插入图片描述

(4)获取列表key的长度

llen list2

在这里插入图片描述
(5)移除并返回列表的头元素

lpop list1
lpop list2

在这里插入图片描述
(6)移除并返回列表的尾元素

rpop list1
rpop list2

在这里插入图片描述
(7)获取列表key中指定下标的元素,0表示第一个元素

lindex list2 4

在这里插入图片描述
(8)将列表key的指定下标元素的值设置为value

lset list2 4 662

在这里插入图片描述

(9)将某个值插入到指定值之前或之后

linsert list2 after 662 663
linsert list2 before 662 614

在这里插入图片描述

(9)根据count移除列表中与指定值相等的所有元素

lrem list3 2 18

在这里插入图片描述
(10)移除列表source尾部的元素,并将其添加到destination的头部

RPOPLPUSH source destination
rpoplpush list1 list2

在这里插入图片描述

四 集合(set)操作命令

(1)向集合中添加一个或者多个元素,使用 sadd 字段进行操作

sadd set1 1 2 3 2 5 6 8 20 36 8

(2)获取集合中的元素数量

scard set1

(3)获取集合的所有元素

smembers set1

效果如下:
在这里插入图片描述
(4)判断集合是否包含指定元素

sismember set1 4
sismember set1 8

在这里插入图片描述
(5)删除集合中的一个或多个元素

srem set1 1 2 3
srem set1 20

在这里插入图片描述
(6)从集合中随机抽取n个元素

srandmember set1 3

在这里插入图片描述
(7)从集合中随机移除一个元素

spop set1

在这里插入图片描述

以下的操作需要两个集合及以上
(8)将集合B中的元素移动到集合A

smove set2 set1 662

在这里插入图片描述
(9)求集合的差集

sdiff set1 set2

在这里插入图片描述

(10)求集合的交集

sinter set1 set2

(11)求集合的并集

sunion set1 set2

在这里插入图片描述

(五)有序集合(Sorted Set)操作命令

(1)向集合中添加一个或多个元素及其分数

zadd zset1 662 A 614 B 20 C 19 D 18 E 17 F 16 G

(2)获取集合中的元素数量

zcard zset1

(3)返回指定区间的元素,score从小到大

zrange zset1 0 -1

实验结果如下:
在这里插入图片描述

(4)返回指定区间的元素,score从大到小

zrevrange zset1 0 -1

实验结果如下:
在这里插入图片描述
(5)获取score介于min和max之间的元素

zrangebyscore zset1 20 662

在这里插入图片描述
(6)删除集合中的一个或多个元素

zrem zset1 A C

在这里插入图片描述
(7)获取某个元素的排名,score从小到大

zrank zset1 20

(8)获取某个元素的排名,score从大到小

zrevrank zset1 20

在这里插入图片描述
(9)计算分数在min和max之间的元素数

zcount zset1 16 614

(10)获取某个元素的分数

zscore zset1 A

在这里插入图片描述
到这里,redis的基本操作已经完结了,但是还是需要勤加练习,所谓好记性不如烂笔头,学习愉快^^

猜你喜欢

转载自blog.csdn.net/qq_41611106/article/details/83348927