共计 1252 个字符,预计需要花费 4 分钟才能阅读完成。
自动写代码机器人,免费开通
这篇文章给大家分享的是有关 Redis 数据库的简单介绍的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考。一起跟随丸趣 TV 小编过来看看吧。
1.Redis 数据库介绍
redis 数据库是一种基于内存可持久化的键值对非关系性数据库。为了保证效率,redis 的数据都是缓存在内存中的,区别的是 redis 会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了 master-slave(主从) 同步。
Redis 支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得 Redis 可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布 / 订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。
Redis 是基于内存管理的数据库,所以内存开销方面需要进一步优化:
①. 首先最重要的一点是不要开启 Redis 的 VM 选项,即虚拟内存功能,这个本来是作为 Redis 存储超出物理内存数据的一种数据在内存与磁盘换入换出的一个持久化策略,但是其内存管理成本也非常的高,并且我们后续会分析此种持久化策略并不成熟,所以要关闭 VM 功能,请检查你的 redis.conf 文件中 vm-enabled 为 no。
②. 其次最好设置下 redis.conf 中的 maxmemory 选项,该选项是告诉 Redis 当使用了多少物理内存后就开始拒绝后续的写入请求,该参数能很好的保护好你的 Redis 不会因为使用了过多的物理内存而导致 swap, 最终严重影响性能甚至崩溃。
③. 如果在 Redis 内部存储的大部分数据是数值型的话,Redis 内部采用了一个 shared integer 的方式来省去分配内存的开销,即在系统启动时先分配一个从 1~n 那么多个数值对象放在一个池子中,如果存储的数据恰好是这个数值范围内的数据,则直接从池子里取出该对象,并且通过引用计数的方式来共享,这样在系统存储了大量数值下,也能一定程度上节省内存并且提高性能
2.redis 数据存储位置
我们知道 redis 是基于内存存储数据的,那么数据在掉电后会造成数据丢失,我们可以亦通过配置生成相关的日志文档以及将数据在磁盘进行备份。这样下次开机是可以保证数据仍然可以拿到。
3.redis 数据库常用数据类型已经相关操作
过期时间设置常用操作:
EXPIRE 将 key 的生存时间设置为 ttl 秒
PEXPIRE 将 key 的生成时间设置为 ttl 毫秒
EXPIREAT 将 key 的过期时间设置为 timestamp 所代表的的秒数的时间戳
PEXPIREAT 将 key 的过期时间设置为 timestamp 所代表的的毫秒数的时间戳
感谢各位的阅读!关于 Redis 数据库的简单介绍就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!
向 AI 问一下细节
丸趣 TV 网 – 提供最优质的资源集合!