温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Redis内存数据库的作用是什么

发布时间:2021-06-22 15:48:32 来源:亿速云 阅读:148 作者:chen 栏目:大数据

这篇文章主要讲解了“Redis内存数据库的作用是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Redis内存数据库的作用是什么”吧!

Redis 是内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 
它支持多种类型的数据结构,字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 
Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。
Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务

1 Pub/Sub 消息订阅
    客户端发出一个订阅的频道名称:SUBSCRIBE foo bar,其他客户端发到这些频道的消息将会被推送到所有订阅的客户端。

2 内存优化
    Redis2.2版本及以后,存储集合数据的时候会采用内存压缩技术,
    以使用更少的内存存储更多的数据,如Hashes,Lists,Sets和Sorted Sets,
    当这些集合中的所有数都小于一个给定的元素,并且集合中元素数量小于某个值时,存储的数据会被以一种非常节省内存的方式进行编码,                          使用这种编码理论上至少会节省10倍以上内存(平均节省5倍以上内存)。并且这种编码技术对用户和redis api透明。因为使用这种编码是用CPU换内            存,所以我们提供了更改阈值的方法,只需在redis.conf里面进行修改即可.内存回收策略:LRU是Redis唯一支持的回收方法,回收最少使用的键

3 事务 
    事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。
    EXEC 命令负责触发并执行事务中的所有命令。
    当使用 AOF 方式做持久化的时候, Redis 会使用单个 write(2) 命令将事务写入到磁盘中,如果 Redis 在重新启动时发现 AOF 文件出了这样的问题,            那么它会退出,并汇报一个错误,
    使用redis-check-aof程序可以修复这一问题,会移除 AOF 文件中不完整事务的信息,确保服务器可以顺利启动。
    当执行 DISCARD 命令时, 事务会被放弃, 事务队列会被清空, 并且客户端会从事务状态中退出

4 redis分布式锁
    分布式锁在很多场景中是非常有用的原语, 不同的进程必须以独占资源的方式实现资源共享
    Redis可以处理多达232的keys,并且在实际中进行了测试,每个实例至少存放了2亿5千万的keys,任何list、set、和sorted set都可以放232个元素

    Redis使用默认的异步复制,其特点是低延迟和高性能,一个 master 可以拥有多个 slave,

5 持久化
    RDB在保存RDB文件时父进程唯一需要做的就是fork出一个子进程,接下来的工作全部由子进程来做,父进程不需要再做其他IO操作,所以RDB持久化              方式可以最大化redis的性能.
    与AOF相比,在恢复大的数据集的时候,RDB方式会更快一些。
    AOF文件是一个只进行追加的日志文件,可使用redis-check-aof工具修复这些问题 $ redis-check-aof –fix,AOF 文件有序地保存了对数据库执行的,所有写入操作, 这些写入操作以 Redis 协议的格式保存


6 常用命令:
链接集群
redis-cli -h 0.0.0.0 -p 6031 -c -a 密码
查询集群节点信息
redis-cli -h 0.0.0.0 -p 7000 cluster nodes
添加集群节点
./redis-trib.rb add-node 127.0.0.1:7006 127.0.0.1:7000
移除节点
./redis-trib del-node 127.0.0.1:7000 `<node-id>`

感谢各位的阅读,以上就是“Redis内存数据库的作用是什么”的内容了,经过本文的学习后,相信大家对Redis内存数据库的作用是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI