Redis超详细入门教程(基础篇)

目录

一、什么是Redis

二、安装Redis

1、Windows系统安装

2、Linux系统安装

三、Redis通用命令

四、Redis基本命令

五、五种数据结构类型

5.1、String类型

5.2、List集合类型

5.3、Set集合类型

5.4、Hash集合类型

5.5、Zset有序集合类型

六、总结


一、什么是Redis

Redis是一个开源的基于内存的键值对数据库,它的主要特征和作用包括:

1、基于内存,读写速度极快,可以处理大量读写请求。

2、支持多种数据结构,如字符串、哈希、列表、集合、有序集合等,具有丰富的数据表示能力。 3、支持主从复制,提供数据冗余和故障恢复能力。

4、支持持久化,可以将内存数据保存到磁盘中。

5、支持事务,可以一次执行多个命令。

6、丰富的功能,可用于缓存、消息队列等场景。

主要应用场景包括:

1、缓存常见的使用场景,比如缓存查询结果、热点数据等,大大降低数据库负载。

2、处理大量的读写请求,比如访问统计、消息队列等。

3、排行榜、计数器等功能的实现。

4、pub/sub消息订阅。

5、QUE计划任务

6、分布式锁等。

综上,Redis是一个性能极高的内存数据库,支持丰富数据结构,提供持久化、事务等功能,非常适合缓存、消息队列等场景,被广泛应用于各种大型系统中。它的高性能、丰富功能使其成为非关系型数据库的重要选择之一。

二、安装Redis

1、Windows系统安装

Redis官网对于Windows版本已经停止维护了,我直接上传到了云盘,大家可以直接下载:

链接:https://pan.baidu.com/s/1NdRren-9nO4E5h3PHdcTig?pwd=becn

1、解压以后,先双击redis-server.exe启动服务器

运行成功

2、双击redis-cli.exe启动命令窗口即可

这样就可以在Windows操作Redis了。

2、Linux系统安装

可以直接看我这篇博客,步骤完整详细:Linux系统安装部署Redis完整教程(图文详解)

三、Redis通用命令

1、Redis默认有16个数据库,切换到第2个数据库

复制代码
select 1

2、查看当前数据库key的数量

复制代码
DBSIZE

3、设置一个key为username,值为mike的数据

复制代码
set username mike

4、获取key为username的值

复制代码
get username

5、获取所有的key

复制代码
keys *

6、清除当前数据库

复制代码
flushdb

7、清除所有数据库

复制代码
flushall

四、Redis基本命令

1、查询key为username是否存在

复制代码
exists username

2、指定key为username移动到1号数据库

复制代码
move username 1

3、指定key为username10s后过期

复制代码
expire username 10

4、查看key为username还有多久过期

复制代码
 ttl username

5、查看key为username是什么类型

复制代码
type username

五、五种数据结构类型

5.1、String类型

1、设置key为name的值为htt

复制代码
set name htt

2、获取key为name的值

复制代码
get name

3、拼接key为name的值:httstudy

复制代码
append name study

4、获取key为name的值的长度

复制代码
strlen name

5、设置key为view的值加1

复制代码
incr view

6、设置key为view的值减1

复制代码
decr view

7、设置key为view的值加10

复制代码
incrby view 10

8、设置key为view的值减10

复制代码
decrby view 10

9、截取下标为0-3之间的字符串,例如:abcdef,截取后abcd

复制代码
getrange name 0 3

10、从下标为1进行替换字符串,例如:abcdef,替换后a000efg

复制代码
setrange name 1 000

11、设置key为name的值为hello,10s后过期

复制代码
setex name 10 hello

12、如果不存在key为title的,值设置为redis,如果存在,则set失败

复制代码
setnx title redis

13、一次性设置多个值

复制代码
mset k1 v1 k2 v2 k3 v3

mset user:1:name htt user:1:age 2

14、一次性获取多个值

复制代码
mget k1 k2 k3

mget user:1:name user:1:age

15、如果k1已经存在,则k1,k4全部设置失败,参考事务的原子性操作

复制代码
msetnx k1 v1 k4 v4

16、如果不存在key为username的值,则返回nil,然后set进去;如果存在值,则获取原来的值并设置新的值

复制代码
getset username htt

看了图会更好理解一些!

5.2、List集合类型

1、将一个值或者多个值插入到列表的头部

复制代码
lpush list 1

2、将一个值或者多个值插入到列表的尾部

复制代码
rpush list 4

3、通过区间获取具体的值

复制代码
lrange list 0 -1

4、移除list的第一个元素:3

复制代码
lpop list

5、移除list的最后一个元素:4

复制代码
rpop list

6、通过下标获得list当中的某一个值

复制代码
lindex list 0

7、获取list的长度

复制代码
llen list

8、移除list集合指定个数的value,移除1个值为2的,精确匹配

复制代码
lrem list 1 2

9、截取list集合中下标为1到下标为2之间的元素集合,并覆盖原来的list集合

复制代码
ltrim list 1 2

10、更新list集合当中下标为0的值为bbb,如果下标0的值不存在,则报错

复制代码
lset list 0 bbb

11、将一个某一个具体的值插入到某一个具体元素(默认第一个)的前面或者后面

复制代码
linsert list BEFORE kkk aaa
复制代码
linsert list AFTER kkk aaa

5.3、Set集合类型

1、往set集合中添加一个元素

复制代码
sadd set hello

2、查看set集合中所有元素

复制代码
 smembers set

3、 查看set集合中是否存在某元素

复制代码
sismember set world

4、随机抽取出1个元素

复制代码
srandmember set

5、随机抽取出2个元素

复制代码
 srandmember set 2

6、随机删除set集合中某个元素

复制代码
spop set

7、移动set集合中的world元素到set2集合中

复制代码
smove set set2 world

8、作set2集合减去set集合的差集

复制代码
sdiff set2 set

9、set和set2的交集

复制代码
sinter set set2

10、set和set2作并集并去重

复制代码
sunion set set2

5.4、Hash集合类型

1、往hash集合中存放键值对数据

复制代码
hset hash username mike

2、从hash集合中获取数据

复制代码
hget hash username

3、同时往hash集合中添加多个值

复制代码
hmset hash username jack age 2

4、同时往hash集合中获取多个值

复制代码
hmget hash username age

5、获取hash集合中所有的键值对

复制代码
hgetall hash

6、删除hash集合中指定的key字段

复制代码
hdel hash username

7、获取hash集合的长度

复制代码
hlen hash

8、判断hash集合中指定字段是否存在

复制代码
hexists hash username

9、获取hash集合中所有的key

复制代码
hkeys hash

10、获取hash集合中所有的值

复制代码
hvals hash

11、指定hash集合中指定增量

复制代码
hincrby hash views 1

12、如果不存在则直接设置值,存在则设置失败

复制代码
hsetnx hash password 123456

5.5、Zset有序集合类型

1、添加一个值

复制代码
zadd zset 1 first

2、添加多个值

复制代码
zadd zset 2 second 3 third 4 four

3、获取zset集合中所有元素

复制代码
zrange zset 0 -1

4、给zset集合中的元素从小到大排序,-inf:负无穷,+inf:正无穷

复制代码
zrangebyscore zset -inf +inf

5、从小到大排序并输出键值

复制代码
zrangebyscore zset -inf +inf withscores

6、指定负无穷到1的范围

复制代码
zrangebyscore zset -inf 1 withscores

7、移除zset集合中指定的元素

复制代码
zrem zset four

8、查看zset集合中元素个数

复制代码
zcard zset

9、反转指定范围

复制代码
zrevrange zset 1 2

六、总结

以上就是Redis入门教程的详细笔记总结,后续博客主页会继续更新关于Redis的内容!

相关推荐
猫猫与橙子14 分钟前
ubuntu22.04安装dukto
linux·运维·服务器
2302_7995257432 分钟前
【Linux】su、su-、sudo、sudo -i、sudo su - 命令有什么区别?分别适用什么场景?
linux·运维·服务器
程序猿John40 分钟前
Mysql读写分离(2)-中间件mycat和实践方案
数据库·mysql·中间件
FreeBuf_43 分钟前
美国国土安全部终止资助,CVE漏洞数据库项目面临停摆危机
数据库·安全·web安全
kinlon.liu1 小时前
使用Redis实现分布式限流
数据库·redis·分布式·缓存
野生派蒙1 小时前
Linux:安装 CentOS 7(完整教程)
linux·运维·服务器·centos
神经星星2 小时前
覆盖40+主流模型及数据集,上海交大团队发布一站式蛋白质工程设计平台VenusFactory,一键部署教程已上线
数据库·人工智能·算法
努力努力再努力wz2 小时前
【Linux实践系列】:匿名管道收尾+完善shell外壳程序
linux·运维·服务器·c++
uwvwko2 小时前
ctfshow——web入门191~194
前端·数据库·mysql·安全·ctf
ALe要立志成为web糕手3 小时前
数据库脱裤
数据库·windows·mysql·web安全·网络安全·adb·mssql