这篇文章主要讲解了“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内存数据库的作用是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。