NoSQL的概述
NoSQL是Not only SQL的缩写,指的是非关系型数据库。
Wikipedia对NoSQL的解释中有一句是:NoSQL databases are increasingly used in big data and real-time web applications.
之所以使用NoSQL是因为关系型数据库对于高并发读写、海量数据的高效率存储和访问不能很好的支持。
Redis就是NoSQL的一个典型代表,其是一个高性能的键值对数据库,支持多种数据类型,如字符串(strings),列表(lists),集合(sets)。
Redis安装
因为Redis是C语言开发,在安装编译时需要依赖gcc环境,因此没有gcc环境,需要先安装gcc环境。
不是root权限时,命令如下:
sudo yum install gcc-c++
上传安装包到指定文件夹,这里我指定的文件夹是developer
[showtime@192 ~]$ ll
total 36
drwxr-xr-x. 2 showtime showtime 4096 Mar 31 14:52 Desktop
drwxr-xr-x. 2 showtime showtime 4096 Mar 31 14:53 Documents
drwxr-xr-x. 2 showtime showtime 4096 Mar 31 14:53 Downloads
drwxr-xr-x. 2 showtime showtime 4096 Mar 31 14:53 Music
drwxr-xr-x. 2 showtime showtime 4096 Mar 31 14:53 Pictures
drwxr-xr-x. 2 showtime showtime 4096 Mar 31 14:53 Public
drwxr-xr-x. 2 showtime showtime 4096 Mar 31 14:53 Templates
drwxr-xr-x. 2 showtime showtime 4096 Mar 31 14:53 Videos
drwxrwxr-x. 2 showtime showtime 4096 Mar 31 15:09 developer
[showtime@192 ~]$ cd developer/
[showtime@192 developer]$ ll
total 1024
-rwxrwxr-x. 1 showtime showtime 1044786 Mar 31 15:09 redis-2.8.0-linux-mac.tar.gz
执行解压命令
[showtime@192 developer]$ tar -zxvf redis-2.8.0-linux-mac.tar.gz
解压之后
[showtime@192 developer]$ ll
total 1028
drwxrwxr-x. 6 showtime showtime 4096 Nov 22 2013 redis-2.8.0
-rwxrwxr-x. 1 showtime showtime 1044786 Mar 31 15:09 redis-2.8.0-linux-mac.tar.gz
make
[showtime@192 developer]$ cd redis-2.8.0
[showtime@192 redis-2.8.0]$ make
安装到指定路径
[showtime@192 redis-2.8.0]$ sudo make PREFIX=/usr/local/redis install
进入指定路径
[showtime@192 redis-2.8.0]$ cd /usr/local/
[showtime@192 local]$ ll
total 44
drwxr-xr-x. 2 root root 4096 Sep 23 2011 bin
drwxr-xr-x. 2 root root 4096 Sep 23 2011 etc
drwxr-xr-x. 2 root root 4096 Sep 23 2011 games
drwxr-xr-x. 2 root root 4096 Sep 23 2011 include
drwxr-xr-x. 2 root root 4096 Sep 23 2011 lib
drwxr-xr-x. 2 root root 4096 Sep 23 2011 lib64
drwxr-xr-x. 2 root root 4096 Sep 23 2011 libexec
drwxr-xr-x. 3 root root 4096 Mar 31 15:38 redis
drwxr-xr-x. 2 root root 4096 Sep 23 2011 sbin
drwxr-xr-x. 5 root root 4096 Mar 31 14:43 share
drwxr-xr-x. 2 root root 4096 Sep 23 2011 src
[showtime@192 local]$ cd redis/
[showtime@192 redis]$ ll
total 4
drwxr-xr-x. 2 root root 4096 Mar 31 15:38 bin
[showtime@192 redis]$ cd bin/
[showtime@192 bin]$ ll
total 13800
-rwxr-xr-x. 1 root root 4170623 Mar 31 15:38 redis-benchmark
-rwxr-xr-x. 1 root root 22241 Mar 31 15:38 redis-check-aof
-rwxr-xr-x. 1 root root 45475 Mar 31 15:38 redis-check-dump
-rwxr-xr-x. 1 root root 4243075 Mar 31 15:38 redis-cli
-rwxr-xr-x. 1 root root 5640066 Mar 31 15:38 redis-server
[showtime@192 bin]$
bin目录下是可执行文件,redis-benchmark性能测试,redis-cli命令行客户端,redis-server是redis服务器启动的命令
接下来安装还没有结束,需要回到刚才解压redis的路径下,拷贝redis.conf到指定的安装路径下
[showtime@192 developer]$ cd redis-2.8.0
[showtime@192 redis-2.8.0]$ ll
total 104
-rw-rw-r--. 1 showtime showtime 6942 Nov 22 2013 00-RELEASENOTES
-rw-rw-r--. 1 showtime showtime 52 Nov 22 2013 BUGS
-rw-rw-r--. 1 showtime showtime 1440 Nov 22 2013 CONTRIBUTING
-rw-rw-r--. 1 showtime showtime 1487 Nov 22 2013 COPYING
-rw-rw-r--. 1 showtime showtime 11 Nov 22 2013 INSTALL
-rw-rw-r--. 1 showtime showtime 4223 Nov 22 2013 MANIFESTO
-rw-rw-r--. 1 showtime showtime 151 Nov 22 2013 Makefile
-rw-rw-r--. 1 showtime showtime 4401 Nov 22 2013 README
drwxrwxr-x. 6 showtime showtime 4096 Mar 31 15:35 deps
-rw-rw-r--. 1 showtime showtime 29601 Nov 22 2013 redis.conf
-rwxrwxr-x. 1 showtime showtime 271 Nov 22 2013 runtest
-rw-rw-r--. 1 showtime showtime 5661 Nov 22 2013 sentinel.conf
drwxrwxr-x. 2 showtime showtime 4096 Mar 31 15:35 src
drwxrwxr-x. 8 showtime showtime 4096 Nov 22 2013 tests
drwxrwxr-x. 2 showtime showtime 4096 Nov 22 2013 utils
[showtime@192 redis-2.8.0]$ sduo cp redis.conf /usr/local/redis/
接下来即可启动redis
[showtime@192 redis-2.8.0]$ cd /usr/local/redis/
[showtime@192 redis]$ ll
total 36
drwxr-xr-x. 2 root root 4096 Mar 31 15:38 bin
-rw-r--r--. 1 root root 29601 Mar 31 15:44 redis.conf
[showtime@192 redis]$ cd bin/
[showtime@192 bin]$ ll
total 13800
-rwxr-xr-x. 1 root root 4170623 Mar 31 15:38 redis-benchmark
-rwxr-xr-x. 1 root root 22241 Mar 31 15:38 redis-check-aof
-rwxr-xr-x. 1 root root 45475 Mar 31 15:38 redis-check-dump
-rwxr-xr-x. 1 root root 4243075 Mar 31 15:38 redis-cli
-rwxr-xr-x. 1 root root 5640066 Mar 31 15:38 redis-server
[showtime@192 bin]$ ./redis-server
./redis-server的启动方式为前端启动方式,所谓前端启动即在启动之后,当前窗口不能再做任何操作,因此一般采用后端启动的方式,此时需要修改redis.conf这个配置文件。
[showtime@192 redis]$ sudo vim redis.conf
修改配置文件中daemonize no为daemonize yes
# By default Redis does not run as a daemon. Use 'yes' if you need it.
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
daemonize no
此时启动如下
[showtime@192 redis]$ ./bin/redis-server ./redis.conf
查看是否启动
[showtime@192 redis]$ ps -ef | grep -i redis
showtime 9545 1 0 15:51 ? 00:00:00 ./bin/redis-server *:6379
showtime 9767 9432 0 15:52 pts/1 00:00:00 grep -i redis
关闭
[showtime@192 redis]$ ./bin/redis-cli shutdown
在关闭时,遇到一个错误,解决办法