redis基本操作
发布人:shili8
发布时间:2024-12-27 06:17
阅读次数:0
**Redis 基本操作**
Redis 是一个开源的、内存型的、支持多种数据结构的 NoSQL 数据库。它提供了快速、高性能的键值存储功能,广泛应用于缓存、计数器、发布/订阅等场景。
###1. Redis 的基本概念####1.1 键(Key)
Redis 中,每个数据项都有一个唯一的键名。键名可以是任意长度的字符串。
####1.2 值(Value)
每个键对应一个值,可以是字符串、整数、浮点数、列表、集合、哈希表等类型。
###2. Redis 的基本操作####2.1 SET`SET key value`命令用于设置指定键的值。例如:
bashredis> SET name "John"
####2.2 GET`GET key`命令用于获取指定键的值。例如:
bashredis> GET name"John"
####2.3 DEL`DEL key`命令用于删除指定键。例如:
bashredis> DEL name(integer)1
####2.4 EXISTS`EXISTS key`命令用于检查指定键是否存在。例如:
bashredis> EXISTS name(integer)0
####2.5 TYPE`TYPE key`命令用于获取指定键的类型。例如:
bashredis> SET name "John" redis> TYPE namestring
###3. Redis 的数据结构####3.1 字符串(String)
Redis 中,字符串是最基本的数据类型,可以存储任意长度的字符串。
####3.2 列表(List)
列表是由多个元素组成的序列,每个元素都是一个值。可以使用 `LPUSH` 和 `RPUSH` 命令添加元素到列表头部和尾部。
bashredis> LPUSH list1 "a" (integer)1redis> RPUSH list1 "b" "c" (integer)3
####3.3 集合(Set)
集合是由多个元素组成的无序集合,每个元素都是一个值。可以使用 `SADD` 命令添加元素到集合。
bashredis> SADD set1 "a" "b" "c" (integer)3
####3.4 哈希表(Hash)
哈希表是由多个键值对组成的数据结构,每个键值对都是一个值。可以使用 `HSET` 命令添加元素到哈希表。
bashredis> HSET hash1 "a" "b" (integer)2
###4. Redis 的事务Redis 提供了事务机制,可以保证一系列命令的原子性执行。可以使用 `MULTI` 和 `EXEC` 命令开启和结束事务。
bashredis> MULTIOKredis> SET name "John" QUEUEDredis> GET nameQUEUEDredis> EXEC(integer)1"John"
###5. Redis 的发布/订阅Redis 提供了发布/订阅机制,可以让客户端订阅特定频道,并接收到对应的消息。可以使用 `PUBLISH` 和 `SUBSCRIBE` 命令发布和订阅频道。
bashredis> PUBLISH channel "Hello" (integer)1redis> SUBSCRIBE channelreading messagechannel: Hello
###6. Redis 的计数器Redis 提供了计数器功能,可以让客户端对特定键进行计数。可以使用 `INCR` 和 `DECR` 命令增加和减少计数。
bashredis> INCR counter(integer)1redis> DECR counter(integer)0
###7. Redis 的缓存Redis 提供了缓存功能,可以让客户端缓存特定键的值。可以使用 `SET` 和 `GET` 命令设置和获取缓存。
bashredis> SET cache "Hello" redis> GET cache"Hello"
###8. Redis 的持久化Redis 提供了持久化功能,可以让客户端将数据持久化到磁盘。可以使用 `SAVE` 和 `BGSAVE` 命令进行持久化。
bashredis> SAVEOKredis> BGSAVEBackground saving started
###9. Redis 的安全Redis 提供了安全功能,可以让客户端设置密码和限制访问权限。可以使用 `SET` 和 `GET` 命令设置和获取密码。
bashredis> SET password "123456" redis> GET password"123456"
###10. Redis 的监控Redis 提供了监控功能,可以让客户端监控特定键的值。可以使用 `INFO` 和 `MONITOR` 命令获取监控信息。
bashredis> INFO# Serverredis_version:5.0.3redis_mode:standalone...
###11. Redis 的扩展Redis 提供了扩展功能,可以让客户端扩展特定键的值。可以使用 `HSET` 和 `ZADD` 命令设置和添加扩展。
bashredis> HSET hash1 "a" "b" (integer)2redis> ZADD sortedset1 "1" "a" "2" "b" (integer)2
###12. Redis 的脚本Redis 提供了脚本功能,可以让客户端执行特定命令序列。可以使用 `EVAL` 和 `EXEC` 命令执行和结束脚本。
bashredis> EVAL "return {1,2}"0(integer)1(integer)2
###13. Redis 的 Lua 脚本Redis 提供了Lua脚本功能,可以让客户端执行特定Lua脚本。可以使用 `EVAL` 和 `EXEC` 命令执行和结束Lua脚本。
bashredis> EVAL "return {1,2}"0(integer)1(integer)2
###14. Redis 的事务脚本Redis 提供了事务脚本功能,可以让客户端执行特定命令序列。可以使用 `MULTI` 和 `EXEC` 命令开启和结束事务。
bashredis> MULTIOKredis> SET name "John" QUEUEDredis> GET nameQUEUEDredis> EXEC(integer)1"John"
###15. Redis 的发布/订阅脚本Redis 提供了发布/订阅脚本功能,可以让客户端执行特定命令序列。可以使用 `PUBLISH` 和 `SUBSCRIBE` 命令发布和订阅频道。
bashredis> PUBLISH channel "Hello" (integer)1redis> SUBSCRIBE channelreading messagechannel: Hello
###16. Redis 的计数器脚本Redis 提供了计数器脚本功能,可以让客户端执行特定命令序列。可以使用 `INCR` 和 `DECR` 命令增加和减少计数。
bashredis> INCR counter(integer)1redis> DECR counter(integer)0
###17. Redis 的缓存脚本Redis 提供了缓存脚本功能,可以让客户端执行特定命令序列。可以使用 `SET` 和 `GET` 命令设置和获取缓存。
bashredis> SET cache "Hello" redis> GET cache"Hello"
###18. Redis 的持久化脚本Redis 提供了持久化脚本功能,可以让客户端执行特定命令序列。可以使用 `SAVE` 和 `BGSAVE` 命令进行持久化。
bashredis> SAVEOKredis> BGSAVEBackground saving started
###19. Redis 的安全脚本Redis 提供了安全脚本功能,可以让客户端执行特定命令序列。可以使用 `SET` 和 `GET` 命令设置和获取密码。
bashredis> SET password "123456" redis> GET password"123456"
###20. Redis 的监控脚本Redis 提供了监控脚本功能,可以让客户端执行特定命令序列。可以使用 `INFO` 和 `MONITOR` 命令获取监控信息。
bashredis> INFO# Serverredis_version:5.0.3redis_mode:standalone...
###21. Redis 的扩展脚本Redis 提供了扩展脚本功能,可以让客户端执行特定命令序列。可以使用 `HSET` 和 `ZADD` 命令设置和添加扩展。
bashredis> HSET hash1 "a" "b" (integer)2redis> ZADD