共计 1585 个字符,预计需要花费 4 分钟才能阅读完成。
自动写代码机器人,免费开通
本篇文章和大家了解一下 redis 的用途和常用的数据类型介绍。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
首先我们来简单介绍下 redis。
Redis 是一个高性能的 key-value 数据库。Redis 与其他 key – value 缓存产品有以下三个特点:
1、Redis 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
2、Redis 不仅仅支持简单的 key-value 类型的数据,同时还提供 list,set,zset,hash 等数据结构的存储。
3、Redis 支持数据的备份,即 master-slave 模式的数据备份。
五种用途
1、全页面缓存
整页缓存。如果你正在使用服务器端呈现的内容,则不需要为每个单独的请求重新渲染每个页面。使用如 Redis 这样的缓存,你可以缓存经常请求的内容,从而大大减少请求最多的页面的延迟,并且大多数框架针对 Redis 缓存页面都有 hooks。
// 设置全页面缓存 1 分钟
SET key html ... /html EX 60
// 获取全页面
GET key
2、顺序排列
由于 Redis 在内存中 Set 数据结构可以非常快速和高效进行递增和递减,性能远远高于 SQL 查询。比较这与 Redis 的排序集相结合意味着你可以以毫秒为单位抓取列表中评分最高的项目,而且实现起来非常容易。
// 向排序集合中添加值
ZADD sortedSet 1 one
// 从排序集合中获取所有值
ZRANGE sortedSet 0 -1
// 从排序集合中获取所有值与权重
ZRANGE sortedSet 0 -1 WITHSCORES
3、会话 Session 存储
我所见的 Redis 最常见的用途是会话存储。与其他会话存储(如 Memcache)不同,Redis 可以保留数据,以便在缓存停止的情况下,在重新启动时,所有数据仍然存在。即便不是需要严格持续的任务,此功能仍可以为你的用户省去大量的麻烦。没有人会乐于见到他们的会话被无缘无故随机删掉。
// 设置一分钟过期的 session
SET randomHash {userId} EX 60
// 获取用户 ID
GET randomHash
4、队列
使用 Redis 可以做的一个不太常见,但非常有用的事情是排队。无论是电子邮件队列还是其他应用程序使用的数据,你都可以在 Redis 中创建一个高效的队列。任何熟悉堆栈以及会 push 和 pop 项目的开发人员都可以轻松自然地使用此功能。
// 添加消息
HSET messages id message
ZADD due due_timestamp id
// 接收消息
ZRANGEBYSCORE due -inf current_timestamp LIMIT 0 1
HGET messages message_id
// 删除消息
ZREM due message_id
HDEL messages message_id
5、pub/sub
Redis 在真实世界的最终用法即我将在这篇文章中提出的 pub / sub。这是 Redis 内置的最强大的功能之一;得到的可能是无限的。你可以创建一个实时聊天系统,在社交网络上触发好友请求的通知等等。这个功能是 Redis 提供的最被低估的功能之一,但功能非常强大,而且使用简单。
// 向通道中推送消息
PUBLISH channel message
// 从通道中获取消息
SUBSCRIBE channel
结论:
我希望你会喜欢这些 Redis 在真实世界的使用。虽然这篇文章只抓住了 Redis 能为你做的事情的表面,但是我希望你能从中获得应如何充分利用 Redis 的启发。
以上就是 redis 的用途和常用的数据类型介绍的简略介绍,当然详细使用上面的不同还得要大家自己使用过才领会。如果想了解更多,欢迎关注丸趣 TV 行业资讯频道哦!
向 AI 问一下细节