![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
NoSQL&Redis
文章平均质量分 82
主要分析Redis or其他nosql开发中的技术问题和实现
jfcat
做有趣的事情,使自己更快乐!
展开
-
(转)Redis的持久化
前言Redis作为一款内存数据库,被广泛使用于缓存,分布式锁等场景,那么假如断电或者因其他因素导致Reids服务宕机,在重启之后数据会丢失吗?Redis 持久化机制Redis虽然是定义为一个内存数据库,但是也支持数据的持久化,在Redis中提供了两种持久化机制:RDB持久化和AOF持久化。RDB 持久化机制RDB全称为:Redis DataBase,是Redis当中默认的持久化方案。当触发持久化条件时,Redis默认会生成一个dump.rdb文件,Redis...转载 2021-08-28 11:22:13 · 81 阅读 · 0 评论 -
(转)Redis的事物机制
前言事务是关系型数据库的特征之一,那么作为Nosql的代表Redis中有事务吗?如果有,那么Redis当中的事务又是否具备关系型数据库的ACID四大特性呢?Redis 有事务吗这个答案可能会令很多人感到意外,Redis当中是存在“事务”的。这里我把Redis的事务带了引号,原因在后面分析。Redis当中的单个命令都是原子操作,但是如果我们需要把多个命令组合操作又需要保证数据的一致性时,就可以考试使用Redis提供的事务(或者使用前面介绍的Lua脚本)。Re...转载 2021-08-28 10:55:56 · 93 阅读 · 0 评论 -
(转)处理Redis缓存特殊情况的方法
前言当Redis用作缓存时,其目的就是为了减少数据库访问频率,降低数据库压力,但是假如我们某些数据并不存在于Redis当中,那么请求还是会直接到达数据库,而一旦在同一时间大量缓存失效或者一个不存在缓存的请求被恶意攻击访问,这些都会导致数据库压力骤增,这又该如何防止呢?缓存雪崩缓存雪崩指的是Redis当中的大量缓存在同一时间全部失效,而假如恰巧这一段时间同时又有大量请求被发起,那么就会造成请求直接访问到数据库,可能会把数据库冲垮。缓存雪崩一般形容的是缓存中没有而数据库中有的数据,而...转载 2021-08-28 10:36:03 · 148 阅读 · 0 评论 -
(转)内存耗尽后 Redis 会发生什么?
前言作为一台服务器来说,内存并不是无限的,所以总会存在内存耗尽的情况,那么当Redis服务器的内存耗尽后,如果继续执行请求命令,Redis会如何处理呢?内存回收使用Redis服务时,很多情况下某些键值对只会在特定的时间内有效,为了防止这种类型的数据一直占有内存,我们可以给键值对设置有效期。Redis中可以通过4个独立的命令来给一个键设置过期时间:expire key ttl:将key值的过期时间设置为ttl秒。 pexpire key ttl:将key值的过期时间...转载 2021-08-28 09:07:20 · 130 阅读 · 0 评论 -
Redis的分布式锁
本文主要是对官方文档的理解安全性和活性保证安全性:相互排斥,在任何时间点,只有一个客户端可以获取锁 活性属性A:不会发生死锁。客户端总可以获取锁,即使已经获取锁的客户端崩溃了 or 进行了分区 活性属性B:失败容忍, 只要大多数Redis节点是正常运行,客户端就可以获取和释放锁为什么基于故障转移的实现是不够的?使用Redis来锁定资源最简单的方法是在一个实例中创建一个key,通常它被创建在限制的时间内存活,使用Redis expires 特色,因此实时上它将被释放。当客户端需要..翻译 2021-06-24 16:02:20 · 91 阅读 · 0 评论 -
对Redis Cluster的理解
Redis Cluster的结构Redis Cluster解决Node失败问题Redis Cluster解决一致性问题原创 2021-06-18 15:03:05 · 86 阅读 · 0 评论 -
Redis的主从和集群设置
准备环境Redis主从高可用原创 2021-06-17 16:31:22 · 523 阅读 · 0 评论 -
Docker下使用Redis
下载Redis imagesudo docker run -itd --rm --name redis-test -p 6379:6379 redis原创 2021-06-15 15:52:33 · 262 阅读 · 1 评论 -
redis的启动关闭脚步
function usage(){ catusage redis.shredis.sh startredis.sh stopredis.sh restartUSAGE}function start(){ echo "start redis..." redis-server /usr/local/etc/redis.conf原创 2014-05-18 00:14:03 · 2262 阅读 · 0 评论 -
对Shanty-Mongo使用过程的一些记录
由于工作上需要用到MongoDB,根据进度原因自己封装了一个简单的实现,当然可以完成现有的任务,在一次测试中发现异常,虽然自己通过封装其他扩展类的方法解决了问题,但是感觉到自己对MongoDB和MongoDB的php扩展了解不足,所以找了一个开源的产品Shanty-Mongo了解下其他实现方式。这个开源库是基于ZendFramework开发的,他对php本身和其他产品也有要求:PH原创 2012-10-24 20:38:27 · 1266 阅读 · 0 评论 -
mongoDB安全认证和php安全处理
MongoDB官方讲解安全验证:http://www.mongodb.org/display/DOCS/Security+and+Authentication 在MongoDB中,服务启动默认是没有权限验证的,就安全性方面来说,这肯定是不行的,所以需要加上权限验证。既然是要进行权限验证,那肯定是得有用户的吧,所以权限验证的第一步就是给MongoDB库添加用户。启动MongoDB服务原创 2012-09-26 11:47:52 · 802 阅读 · 0 评论