chapter1.
Redis没有表和Schema(Schema就是数据库对象的集合,这个集合包含了各种对象如:表、视图、存储过程、索引等
Redis用 key-value存储数据,所有的key必须是string类型
Redis的命令不区分大小写,但存储的数据区分(包括key-value)
Like life,like coding
Python是完全面向对象的语言,函数,模块,数字,字符串都是对象。
Python的值不用定义类型,直接赋值即可使用。(因为任何数据都是对象,包括数字。所以变量赋值就是把对象关联起来。每一次变量重新赋值,并没有改变对象的值,只是新创建了一个新对象,并用变量指向它。)
布尔值为True,False。为False的情况:
数字0(包括0.0),空字符串,None(None是Python里的一个特殊值,表示空值),
空集合,包括( ) , [ ] , { } 其他值都认为是True
变量名不能以 双下划线开头(这类标识符具有特殊意义,如: _init_( ) 代表类的构造函数)
同时只能由数字,字母,下划线组成。其他符号都不行。
记录一下第一次在Linux上安装Apache遇到的问题以及解决过程。
具体步骤可以参考此博文:
https://blog.csdn.net/u010297957/article/details/50751656
1.安装有两种方法,第一种是手动安装,
步骤:
①先下载相关的源码包,包括:Apache HTTP Server(这个就是我们要安装的Apache Server,但它还需要其他依赖包,所以仅有这个并不足够),APR(Apache Server的依赖包,然而这个APR本身又依赖APR-Util和PCRE),APR-Util,PCRE。一共4个源码包。此处用到了wget命令,wget url,下载相应的源码包。
(Tomcat + MySQL + Redis的配置,以及连通性测试)
写在前面:
其实大概半年前就已经配置好了Tomcat跟MySQL,项目也部署好了,能够正常的运行。但自从8月底的时候加上了redis,就开始出现了问题。从那时候开始,服务器的CPU一直停留在100,似乎是MySQL与Redis之间出现了冲突。但我当时装了好了Redis,大概只是简单学习了几天就搁置了,所以等到我意识到服务器出现问题的时候,已经是9月下旬的时候了。(中途域名拿去网站备案了,所以项目也是一直搁置的。但中途在研究MySQL的锁机制的时候,确实已经觉得服务器出现了问题,时不时会掉线)对于问题的排查,持续了一整天都没有解决,使用TOP命令,会发现CPU idle space是0,要么是0,要么是100,两个数字之间刷新,但下面的所有进程,就没有CPU超过5%的进程。除了top,诸如netstat,vmstat,df -h,uptime,等等的各种命令都尝试过了,还是没有找出问题。倒是发现在/var/crash中出现了高达25G的系统崩溃碎片,删除了也未果。甚至,一怒之下把这个基础的服务器升级了(1核2G,直接升级为4核8G),结果还是显示100。。说实话,我就那么一个项目,能够把这种升级后的配置也用到CPU100,唯一的可能也只是出现了deadlock了吧。但我排查了许久都失败了,服务器上的数据库也崩溃了无法访问,而且我对于数据库也没有备份的习惯(以后一定要对数据库进行定时备份)。导致只好先对这个出了问题的系统进行snapshot,等待以后需要那部分数据,或者有时间的时候,再回去排查问题吧,至少也要把那部分数据拿回来。
然后呢,就是直接把系统重装了,那么就需要重新配置一遍环境。其实因为之前配置这三个的时候都比较轻松,所以心里觉得应该很快能解决的。但没想到遇到了各种各样的问题,所以这次把整个成功的配置过程都写出来记录,包括中间出现了错误如何解决等等。