本文只是简单搭建Redis,为了整合ELK用,后面会详细写。
Redis:REmote DIctionary Server(远程字典服务器)
是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value)分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们称为数据结构服务器
Redis 与其他 key - value 缓存产品有以下三个特点
1:Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用
2:Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储
3:Redis支持数据的备份,即master-slave模式的数据备份
Redis的功能
内存存储和持久化:redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务。
取最新N个数据的操作,如:可以将最新的10条评论的ID放在Redis的List集合里面。
模拟类似于HttpSession这种需要设定过期时间的功能。
发布、订阅消息系统。
定时器、计数器。
上传压缩包,并解压
安装GCC
gcc是linux下的一个编译程序,是C程序的编译工具。
GCC(GNU Compiler Collection) 是 GNU(GNU's Not Unix) 计划提供的编译器家族,它能够支持 C, C++, Objective-C, Fortran, Java 和 Ada 等等程序设计语言前端,同时能够运行在 x86, x86-64, IA-64, PowerPC, SPARC 和 Alpha 等等几乎目前所有的硬件平台上。鉴于这些特征,以及 GCC 编译代码的高效性,使得 GCC 成为绝大多数自由软件开发编译的首选工具。虽然对于程序员们来说,编译器只是一个工具,除了开发和维护人员,很少有人关注编译器的发展,但是 GCC 的影响力是如此之大,它的性能提升甚至有望改善所有的自由软件的运行效率,同时它的内部结构的变化也体现出现代编译器发展的新特征。
[root@topcheer redis-3.0.4]# yum install gcc-c++ 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile epel/x86_64/metalink | 9.4 kB 00:00:00 * base: mirrors.aliyun.com * epel: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.cn99.com base | 3.6 kB 00:00:00 epel | 5.3 kB 00:00:00 extras | 2.9 kB 00:00:00 gitlab_gitlab-ce/x86_64/signature | 836 B 00:00:00 gitlab_gitlab-ce/x86_64/signature | 1.0 kB 00:00:00 !!! gitlab_gitlab-ce-source/signature | 836 B 00:00:00 gitlab_gitlab-ce-source/signature | 951 B 00:00:00 !!! updates | 2.9 kB 00:00:00 软件包 gcc-c++-4.8.5-39.el7.x86_64 已安装并且是最新版本 无须任何处理
执行make
[root@topcheer redis-3.0.4]# make cd src && make all make[1]: 进入目录“/mnt/redis-3.0.4/src” rm -rf redis-server redis-sentinel redis-cli redis-benchmark redis-check-dump redis-check-aof *.o *.gcda *.gcno *.gcov redis.info lcov-html (cd ../deps && make distclean) make[2]: 进入目录“/mnt/redis-3.0.4/deps” (cd hiredis && make clean) > /dev/null || true (cd linenoise && make clean) > /dev/null || true (cd lua && make clean) > /dev/null || true (cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true (rm -f .make-*) make[2]: 离开目录“/mnt/redis-3.0.4/deps” (rm -f .make-*) echo STD=-std=c99 -pedantic >> .make-settings
执行make install
root@topcheer redis-3.0.4]# make install cd src && make install make[1]: 进入目录“/mnt/redis-3.0.4/src” Hint: It's a good idea to run 'make test' ;) INSTALL install INSTALL install INSTALL install INSTALL install INSTALL install make[1]: 离开目录“/mnt/redis-3.0.4/src” [root@topcheer redis-3.0.4]#
查看目录层级
[root@topcheer bin]# ll 总用量 24612 -rwxr-xr-x 1 root root 16168192 11月 28 15:36 docker-compose -rwxr-xr-x 1 root root 2363 10月 4 21:40 pcre-config -rwxr-xr-x 1 root root 100136 10月 4 21:40 pcregrep -rwxr-xr-x 1 root root 197584 10月 4 21:40 pcretest -rwxr-xr-x 1 root root 2077160 12月 3 16:20 redis-benchmark -rwxr-xr-x 1 root root 25080 12月 3 16:20 redis-check-aof -rwxr-xr-x 1 root root 55912 12月 3 16:20 redis-check-dump -rwxr-xr-x 1 root root 2201176 12月 3 16:20 redis-cli lrwxrwxrwx 1 root root 12 12月 3 16:20 redis-sentinel -> redis-server -rwxr-xr-x 1 root root 4351984 12月 3 16:20 redis-server [root@topcheer bin]#
Redis-check-aof:修复有问题的AOF文件
Redis-benchmark:性能测试工具
Redis-check-dump:修复有问题的dump.rdb文件
Redis-cli:客户端,操作入口
Redis-sentinel:redis集群使用
Redis-server:Redis服务器启动命令
启动Redis
[root@topcheer bin]# cd /mnt/redis-3.0.4/ [root@topcheer redis-3.0.4]# ll 总用量 148 -rw-rw-r-- 1 root root 31391 9月 8 2015 00-RELEASENOTES -rw-rw-r-- 1 root root 53 9月 8 2015 BUGS -rw-rw-r-- 1 root root 1439 9月 8 2015 CONTRIBUTING -rw-rw-r-- 1 root root 1487 9月 8 2015 COPYING drwxrwxr-x 6 root root 175 12月 3 16:10 deps -rw-rw-r-- 1 root root 11 9月 8 2015 INSTALL -rw-rw-r-- 1 root root 151 9月 8 2015 Makefile -rw-rw-r-- 1 root root 4223 9月 8 2015 MANIFESTO -rw-rw-r-- 1 root root 5201 9月 8 2015 README -rw-rw-r-- 1 root root 41403 9月 8 2015 redis.conf -rwxrwxr-x 1 root root 271 9月 8 2015 runtest -rwxrwxr-x 1 root root 280 9月 8 2015 runtest-cluster -rwxrwxr-x 1 root root 281 9月 8 2015 runtest-sentinel -rw-rw-r-- 1 root root 7109 9月 8 2015 sentinel.conf drwxrwxr-x 2 root root 8192 12月 3 16:11 src drwxrwxr-x 10 root root 167 9月 8 2015 tests drwxrwxr-x 5 root root 4096 9月 8 2015 utils [root@topcheer redis-3.0.4]# vim redis.conf #修改redis.conf文件将里面的daemonize no 改成 yes,让服务在后台启动 [root@topcheer redis-3.0.4]# redis-server redis.conf [root@topcheer redis-3.0.4]# lsof -i:6379 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME redis-ser 36084 root 4u IPv6 94818859 0t0 TCP *:6379 (LISTEN) redis-ser 36084 root 5u IPv4 94818860 0t0 TCP *:6379 (LISTEN) [root@topcheer redis-3.0.4]# redis-cli 127.0.0.1:6379>
关闭Redis
[root@topcheer redis-3.0.4]# redis-cli shutdown [root@topcheer redis-3.0.4]# lsof -i:6379 [root@topcheer redis-3.0.4]#
HelloWorld
[root@topcheer redis-3.0.4]# redis-server redis.conf [root@topcheer redis-3.0.4]# redis-cli 127.0.0.1:6379> set key helloworld OK 127.0.0.1:6379>