
Redis
文章平均质量分 94
YiwenShao
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Redis的BIO系统
Redis通过bio系统完成两件事,一是进行Aof持久化,也就是将写入到系统的page cache的数据fsync到磁盘中;二是关闭文件。为了完成这件任务,其采用了任务队列的方式,每个任务都是一个线程来完成,任务会被放到任务队列中,然后由执行任务线程取走,如果队列空,则阻塞等待,如果队列里有任务,就通知工作线程,这通过条件变量来实现。后面以任务初始化,任务放入队列,任务出队列三个方面进行介绍,并且以原创 2016-11-05 19:14:43 · 1137 阅读 · 0 评论 -
条件变量与锁
本文以linux c为例子, 介绍锁和共享变量的基本使用方法, 并介绍一个基于条件变量实现生产者消费者模型的例子, 然后在文末给出相关书籍的参考. 锁多线程情况下, 锁的使用主要涉及以下5个函数, 它们都包含在pthread.h头文件中.pthread_mutex_init(pthread_mutex_t * mutex,const pthread_mutexattr_t *attr)pthr原创 2016-11-05 19:12:12 · 597 阅读 · 0 评论 -
Redis集群搭建方法以及脚本搭建
摘要本文讲述了Redis集群搭建的基本方法, 然后给出一个使用一键配置的脚本搭建redis集群的方法.原创 2016-10-05 11:12:24 · 627 阅读 · 0 评论 -
多线程数据竞争问题
摘要在Redis的Bio代码中, 需要使用for循环创建两个服务线程, 并且把两个整数0 1作为参数传到线程执行的函数中. 这个问题涉及到在linux c中, 用for循环创建多个线程并传参数时会遇到的数据竞争问题. 本文给出该问题的分析, 几段相关的错误代码的分析, 并结合redis的BIO模块代码给出总结. 第一种错误的写法我们的目标是在一个for循环里面,调用pthread_create函数创原创 2016-11-09 17:09:37 · 4544 阅读 · 1 评论