Redis快速入门(一)

本文介绍了Redis的基本数据类型,包括字符串、哈希、列表、集合和有序集合,并详细阐述了每种类型的创建、获取、修改等操作命令,适用于redis-cli环境。同时,提到了数据类型的特性和应用场景,如字符串的自增操作,哈希的属性管理,列表的插入和删除,集合的运算以及有序集合的排序功能。
摘要由CSDN通过智能技术生成

Redis是非关系数据库,基于内存的数据库,常用于作为缓存数据库。本次文章将讲述该数据库的几种基本类型并掌握其基本类型对应的命令(基于redis-cli)

目录

1.字符串类型(String)

1.创建与获取

2.字符串的修改

 2.哈希类型(Hash)

1.创建哈希

2.获取哈希某个属性的值

3.检测是否存在

4.哈希键的修改

 5.其它

 3.列表类型(list)

1.列表的创建与删除

2.获取列表以及相关信息

 4.集合类型(set)

 1.集合的创建删除与查询

2.集合的运算

有序集合类型(zset)

 1.有序集合的创建与查询

2.有序集合的修改


 

1.数据类型:分为 字符串,哈希,列表,集合,有序集合 还有最新的流数据类型 (流数据类型后面有专门讲解本章不做多描述)


1.字符串类型(String)

什么是字符串,字符串就是一个键名对应一个键值,比如说一个人的身高对应一个具体的值,并不存在一个人的身高有多个值的情况(命令的大小写都不影响但是尽量大写)

1.创建与获取

set key value --创建字符串

get key -- 获取字符串

2.字符串的修改

incr key -- 返回自加1后的值(注意:只有key对应的value是数字的时候才能进行自加,否则会报错)

decr key-- 返回自减少1后的值(注意:只有key对应的value是数字的时候才能进行自加,否则会报错)

INCRBY KEY NUMBER --指定增加某个数

DECRBY KEY NUMBER --指定减少某个数

INCRFLOAT KEY NUMBER --增加float型的数

(注意:如果increase了并不存在的键名则系统会自动创建一个对应的字符串并且初始值是0)


 2.哈希类型(Hash)

哈希类型是一个对象的集合,可以包含对象很多的属性,比如一辆车 有名字 有价格 有速度等等属性,而Car就是哈希的key 而像名字 价格 速度等等这些是key对应的filed(域),即某辆汽车哪个方面(领域),values就是对应的值 比如名字叫“丰田”,价格1200000,速度200

1.创建哈希

HSET KEY FILED VALUES --单个创建

HMSET KEY FILED1 VALUES1 FILED2 VALUES2... -- 多个创建

2.获取哈希某个属性的值

HGET KEY FILED --单个获取

HMGET KEY FILED1 FILED2 ...--多个获取

HGETALL KEY -获取目标key下所有的filed与对应的值

注意这里的 "\xe4\xb8\xb0\xe7\x94\xb0"是unicode编码,想要转为中文需要用到对应解码之后

才能变成中文

3.检测是否存在

HEXIST KEY FILED --检测想要的key对象有没有某个方面比如CAR想要看有没有价格方面信息等等

HSETNX KEY FILED VALUE-- hsetnx(hset if not exist)如果不存在某个方面的情况下,设置某个方面与其值,比如我设置CAR price 10 可以知道 CAR 已经存在对应的price,并且返回值是(integer)0意味着创建失败

4.哈希键的修改

1.HINCRBY FILED VALUES +/-NUMBER--修改某个方面的值比如price ,并且通过值得正负实现是增还是减

2.HDEL key FILED/ FILED2 /FILED3 ...--删除某个方面

 5.其它

HKEYS KEY --获取某个键对应的所有方面(域),比如CAR 能获取到其price name 等等

HVALS KEY --与hkeys不同的是,hvals key获取的是某个键对应所有方面的值

HLEN KEY  -- 计算并返回某个键名对应有多少个域filed


 3.列表类型(list)

 当你在听音乐时,你创建了一个播放列表来记录你要播放的歌曲。这个播放列表可以类比为 Redis 的列表类型。开始时,你的播放列表是空的,因为你还没有选择任何歌曲。当你找到一首喜欢的歌曲后,你将它添加到播放列表中,此时列表变为 ["Song A"]。然后,你又找到了其他几首喜欢的歌曲,你可以依次将它们添加到列表中,如 ["Song A", "Song B", "Song C"]。你也可以从左插入Song D 变成["Song D","Song A", "Song B", "Song C"]

1.列表的创建与删除

LPUSH  key --即是left push 从左插入,并返回当前列表内元素的个数

RPUSH  key --对应的是right push 从右边插入,并返回当前列表内元素的个数

LPOP  key --输出列表最左边的值,再将其删除

RPOP key --输出列表最右边的值,再将其删除

LREM key count value --从列表中删除指定数量的匹配元素。

        注意LREM key count value中

        如果count>0 则意味着从左到右开始删除count 个值为 value的元素

        如果count<0 则意味着从右到左开始删除count 个值为 value的元素

2.获取列表以及相关信息

LRANGE KEY 0 -1    --表示从第0个开始,-1(表示全部)输出(从左到右输出)

LRANGE KEY 0 2    --表示从第0个开始,到第2个输出

LINDEX KEY index --获取列表中指定索引位置的元素。

LLEN KEY --获取列表的长度(元素个数)

3.列表的修改

LINSERT key BEFORE|AFTER pivot value --将值插入到列表中某个元素之前或之后

LTRIM key start stop --于修剪(裁剪)列表中的元素范围,使其只保留指定范围内的元素,而删除其他的元素。


 4.集合类型(set)

 无序、唯一且不重复的数据结构,它可以存储多个不同的元素。具体应用可以比如一个班级的学号,key-》class1     members-》学号

集合的性质

  • 无序性:集合中的元素没有任何特定的顺序,每次获取元素时,元素的顺序都可能发生变化。

  • 唯一性:集合中的元素是唯一的,不会存在重复的元素。

  • 动态性:集合可以随时添加和删除元素。

  • 快速判断成员是否存在:集合类型对于判断某个元素是否存在非常高效,时间复杂度为 O(1),这使得集合在需要快速检查元素是否存在的场景下十分有用。

 1.集合的创建删除与查询

SADD KEY MEMBER / MEMBER1 / MEMBER2...--创建集合

SREM KEY MEMBER / MEMBER1 / MEMBER2... --删除集合key中的成员

SMEMBERS KEY --查看集合内key所有的成员

SISMEMBER KEY MEMBER --集合中是否存在

注意集合的无序性,若要使其有序则需要用有序集合类型

2.集合的运算

SDIFF KEY1 KEY2 --集合相减,

举例有两个社团key1 和key2那么当需求社团成员只报了key1社团没有报社团key2时候就可以用集合相减

SINTER KEY1 KEY2--集合取交集

还是如上的例子,当我需要即报名了key1社团和key2社团的成员时候就可以用SINTER KEY1 KEY2 来计算

SUNION KEY1 KEY2--集合取并集

还是例子,当我需求社团key1 和社团key2的成员一起参加活动,统计成员时候就可以用到        SUNION KEY1KEY2

 3.其他

SCARD KEY  -- 统计key内成员的个数

SDIFFSTORE DESTINATION KEY1 KEY2 ,,,--将两个集合之间取差并将内容保存到一个新的集合destination处,同理可以将SDIFF修改为SINTER SUNION...

SRANDMEMBER KEY COUNT--随机抽取集合内数量为count个成员


有序集合类型(zset)

在集合的基础上加上score分数(必须是数字),根据分数可以进行排位,比如一个班级里面考完一次试,统计时候需要将数据从高到低排位,此时就需要用到有序集合

 1.有序集合的创建与查询

ZADD   KEY SCORE MEMBER/  SCORE  MEMBER 2 ...--创建有序集合

ZSCORE MEMBER --查询某个成员的分数

ZRANGE KEY START END [withscores]--从低到高进行排名 当加上with scores后缀时候不止有对应的成员排名,还会展示成员的分数

ZREVRABFE KEY START END [withscores]--reverse zrange 即对zrange命令的反转就是从高到低进行排名

ZCARD KEY    --统计zset内成员的个数

ZCOUNT KEY MIN MAX --统计集合key成员中分数段为[min,max]的成员个数

ZRANK KEY MEMBER --查询某个成员在集合内排第几名

2.有序集合的修改

ZINCRBY KEY INCRESEMENT MEMBER-- 对集合key内成员的score进行操作可以通过最后INCRESEMENT 的+ - 进行增加或者减少

ZREM KEY MEMBER1 / MEMBER2...--删除集合key中的成员member1

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alphamilk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值