- 博客(11)
- 资源 (1)
- 收藏
- 关注
原创 Redis源码解析:12AOF持久化
除了RDB持久化功能之外,Redis还提供了AOF(AppendOnly File)持久化功能。与RDB持久化通过保存数据库中的键值对来记录数据库状态不同,AOF持久化是通过保存Redis服务器所执行的写命令来记录数据库状态的。与RDB持久化相比,AOF持久化可能丢失的数据更少,但是AOF持久化可能会降低Redis的性能。 写人AOF文件的所有命令都是以Redis的统一请求协议
2016-03-29 12:55:55 1348 1
原创 Redis源码解析:11RDB持久化
Redis的RDB持久化的相关功能主要是在src/rdb.c中实现的。RDB文件是具有一定编码格式的数据文件,因此src/rdb.c中大部分代码都是处理数据格式的问题。 一:RDB文件格式 上图就是一个完整RDB文件的格式。 RDB文件的最开头是REDIS部分,这个部分的长度为5字节,保存着"REDIS"五个字符。通过这个字符
2016-03-19 21:55:19 2044
原创 02docker简单使用和配置(网络、存储和Hub)
四:网络1:命名容器 在各种docker命令中,可以通过名字中找到对应的容器。之前创建的容器都是由docker自动命名的,可以在docker run中,通过--name参数指定容器的名字。比如:$ docker run -d -P --name web training/webapp python app.py$ docker ps -lCONTAINER ID IM
2016-03-19 19:20:38 1903
原创 01docker简单使用和配置(容器、镜像)
一:容器中运行简单应用程序1:hello world 使用docker可以在容器中运行应用程序,使用docker run命令即可。比如下面的命令:$ docker run ubuntu /bin/echo 'Hello world'Hello world docker run命令用于运行一个新的容器,ubuntu指定了该容器运行基于的镜像是Ubuntu
2016-03-19 18:54:04 4143 1
原创 00docker安装和简介
Docker是用于开发、装载和运行应用的开放平台。Docker项目的目标是实现轻量的操作系统级虚拟化解决方案,它提供了一种在容器中安全隔离地运行应用程序的方式。可以在宿主机上运行多个容器。 Docker的基础是Linux容器(LXC)等技术。在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作Docker的容器就像操作一
2016-03-19 18:18:36 941
原创 64位Linux编译C代码,crt1.o文件格式不对的问题
今天在某台64位LInux下编译一个简单的hello world的C程序,报错:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../crt1.o: could not read symbols: File in wrong format查看该文件的格式,竟然是32位的:[@s366.zjm.db.d tmp]# file /usr/lib/g
2016-03-16 13:35:18 4709
原创 Redis源码解析:10scan类命令的实现
像keys或者smembers命令,需要遍历数据集合中的所有元素。在一个大的数据库中使用,可能会阻塞服务器较长的一段时间,造成性能问题,因此不适用与生产环境。 在Redis2.8.0中引入了scan类命令,可用于迭代整个数据库或者是哈希键、集合键和有序集合键这样的数据集合。 scan类命令支持增量式迭代,它们每次执行都只会返回少量元素,所以这些命令可以用于生产环
2016-03-13 22:03:30 3361
原创 Redis源码解析:09redis数据库实现(键值对操作、键超时功能、键空间通知)
本章对Redis服务器的数据库实现进行介绍,说明Redis数据库相关操作的实现,包括数据库中键值对的添加、删除、查看、更新等操作的实现;客户端切换数据库的实现;键超时相关功能的实现、键空间事件通知等。 以上这些功能,键空间事件通知是在src/notify.c中实现的,其他功能都是在src/db.c中实现的。 在redis.h中定义的redisServe
2016-03-13 21:57:54 1456
转载 逻辑卷管理LVM
LVM(Logical Volume Manager,逻辑卷管理),可以弹性调整分区大小。LVM将多个分区(或磁盘)整合在一起,让这些分区看起来就像是一个磁盘一样,将来可以新增或移除其他的分区到这个LVM 管理的“磁盘”当中。因此说LVM可以弹性调整分区的大小。 一:概念 LVM可以将几个分区(或磁盘),通过软件组合成为一块独立的“磁盘”(VG),然后将这块“磁盘”再
2016-03-11 22:06:33 2304
原创 磁盘、分区、文件系统
一:磁盘 物理上来说,硬盘主要由若干盘片、机械手臂、读写磁头与主轴马达组成。盘片表面涂以磁性介质,用以存储数据。每个盘片有两面,都可记录信息。而读写主要是透过在机械手臂上的读写磁头来达成。实际运作时,主轴马达让盘片转动,然后机械手臂可伸展使磁头到达指定的位置,在盘片上进行读写动作。每个盘片有两个面,每个面都有一个磁头, 逻辑上来说,又有磁道(track)、
2016-03-06 09:26:00 3955 1
原创 10Redis键空间通知(keyspace notifications)
Redis的键空间通知(keyspacenotifications)功能是自2.8.0版本开始加入的,客户端可以通过订阅/发布(Pub/Sub)机制,接收那些以某种方式改变了Redis数据空间的事件通知。比如:所有改变给定key的命令;所有经过lpush操作的key;所有在0号数据库中过期的key等等。 通知是通过Redis的订阅/发布机制发送的,因此,所有支持订阅/发布功能的
2016-03-05 14:33:29 13653
柔性数组成员
2018-09-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人