雷迪斯 是一个 NOSQL 数据库,数据以键值对的形式存储。
雷迪斯 将数据存储在主内存上,这意味着它速度快,但易失性,不像 PostgreSQL 等数据库系统将数据存储在磁盘上。
在具有服务器和数据库的应用程序中,访问数据库上的信息会导致延迟。
像redis这样的Key-Value数据库通常保存在这些数据库前面,访问操作需要2个步骤:
通过这两个步骤,并且考虑到主内存的延迟低于磁盘,我们可以说 雷迪斯 可用于存储和访问频繁的、最近的数据和昂贵的操作,从而使应用程序速度提高 10 到 50 倍。
因此,如果您要构建一个未来可扩展的应用程序,雷迪斯(或类似于 雷迪斯 的数据库)是必不可少的。
雷迪斯 开源吗?:是的,雷迪斯 是开源的,具有特殊类型的许可证,但也有其他替代方案,例如 Snapchat 的 KeyDB 和 Memcached 都是开源的。 KeyDB 是 雷迪斯 的一个分支,但目前只能在 Linux 上运行。
雷迪斯 支持 Windows 吗?:不,雷迪斯 不支持 Windows,但您可以安装 WSL/Ubuntu,并使用
安装 redis
sudo apt install redis
redis-server --port 6000
其中 6000 是您要运行它的本地服务器上的端口。 (即 127.0.0.1:6000)。
大多数问题是由于 redis-server 使用的默认端口已被使用
在Linux上,安装redis就像
一样简单
sudo apt install redis
或:
brew install redis
您需要在 上拥有 2 个终端实例
第一个运行您的服务器
redis-server -port <portnumber> </portnumber>
在第二个运行你的客户端
redis-cli
构建Web应用程序时,不需要运行客户端但需要运行服务器
雷迪斯 概念
您应该了解 雷迪斯 中的 3 个主要概念或 4
所有其他数据结构主要是第一个数据结构的高级实现
所谓的列表,我的意思是数组而不是链表,这就是redis的称呼。
键值对是大多数编程语言中常见的数据结构。
在 Python 中称为字典或简称 dict
在 Javascript 中称为 地图
在 C# 中称为 字典
雷迪斯 中键值对的主要操作有 6 种
Operations | Explanations | Examples | Further Explanation |
---|---|---|---|
SET | Creates a key-value pair | SET name John | Sets key to map to value |
GET | Gets value for key | GET name | This returns John |
DEL | Deletes the key value pair | DEL name | This removesthe key value pair name from the database |
EXISTS | Checks if a key exists in the redis database | EXISTS name | returns 1 or 0 corresponding to True or False |
FLUSHALL | Clears the entire cache | FLUSHALL | more or less like DROP TABLE in postgres |
KEYS * | Returns all the keys in the database | KEYS * |
还有基于时间的操作。在基于时间的操作中,密钥仅在缓存中保存一段设定的时间,时间到期后,缓存会删除该密钥。
有 2 个主要的基于时间的操作
Operations | Explanations | Examples | Further Explanation |
---|---|---|---|
EXPIRE | Expires a key after being defined | EXPIRE name 10 | Deletes the key-value name after 10s .The key must be defined with SET before calling EXPIRE . A common alternative is; |
SETEX | Expires a key upon definition | SETEX age 30 15 | Sets the key age to value 30 and thereafter deleted the key-value pair after 15s |
TTL | Time To Live | TTL age | Returns the time remaining before deletion of the age key |
博客太长了,我将讨论列表,集合,哈希图以及有关redis的可能面试问题 在另一个博客中。
如果您有任何疑问,请在下面评论,我会尽力回答⭐。快乐编码
以上是雷迪斯的详细内容。更多信息请关注PHP中文网其他相关文章!