1.Redis简介
Redis:REmote DIctionary Server(远程字典服务器)。
Redis是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value)分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们称为数据结构服务器。
Redis 与其他 key - value 缓存产品有以下三个特点。
|-Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用
|-Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储
|-Redis支持数据的备份,即master-slave模式的数据备份
2.Redis环境搭建
1)VMWare+VMTools安装
[1]VMWare安装
https://www.cnblogs.com/CSAH/p/11340116.html |
[2]安装CentOS6.8
注:查看自己Linux是32为还是64位 getconf LONG_BIT
[root@pluto ~]# getconf LONG_BIT 64 |
[3]VMTools安装
2)Redis安装
[1]下载Redis
下载Redis通过官网下载,如果看不懂中文的可以通过www.redis.cn下载。
[2]解压Redis并安装
首先,我们需要先设置共享文件夹,在VMTools安装中有方法。然后在Windows中文件夹获得Redis.tar.gz安装包.
[root@pluto 桌面]# cd /mnt/hgfs/VMShare/ [root@pluto VMShare]# ll 总用量 1336 -rwxrwxrwx. 1 root root 1364993 10月 8 2015 redis-3.0.4.tar.gz |
注:共享文件夹在mnt下的hgfs中
然后,copy一份redis到Linux中的opt,关于cp命令使用方式可以通过点击即可学习。
[root@pluto VMShare]# cp /mnt/hgfs/VMShare/redis-3.0.4.tar.gz /opt/ |
其次,解压Redis,并进入解压后的目录redis-3.0.4
[root@pluto VMShare]# cd /opt/ [root@pluto opt]# tar -zxvf redis-3.0.4.tar.gz [root@pluto opt]# cd redis-3.0.4 [root@pluto redis-3.0.4]# make |
可能出现的问题如下:
(1)缺少gcc
【1】虚拟机可以上网
该方法我并未试过,具体可以上网找教程
yum install gcc-c++ |
【2】虚拟机不能上网
可以通过挂载镜像中自带的软件包安装。执行以下六条命令,从上往下执行。只要不是依赖包的问题都可以接着往下执行。如果依赖包的问题我们通过以下链接查错
[root@pluto Packages]# [root@pluto CentOS_6.8_Final]# rpm -ivh cpp-4.4.7-17.el6.x86_64.rpm [root@pluto CentOS_6.8_Final]# rpm -ivh kernel-headers-2.6.32-642.el6.x86_64.rpm [root@pluto CentOS_6.8_Final]# rpm -ivh glibc-headers-2.12-1.192.el6.x86_64.rpm [root@pluto CentOS_6.8_Final]# rpm -ivh glibc-devel-2.12-1.192.el6.x86_64.rpm [root@pluto CentOS_6.8_Final]# rpm -ivh libgomp-4.4.7-17.el6.x86_64.rpm [root@pluto CentOS_6.8_Final]# rpm -ivh gcc-4.4.7-17.el6.x86_64.rpm |
https://blog.csdn.net/gaojp008/article/details/83275706?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase |
(2)Jemalloc/jemalloc.h:没有那个文件或目录
运行make distclean之后再make |
最后,我们make完后继续执行make install
[3]查看Redis安装目录
[root@pluto 桌面]# cd /usr/local/bin/ [root@pluto bin]# ll 总用量 16240 -rw-r--r--. 1 root root 800099 7月 18 00:15 dump.rdb -rwxr-xr-x. 1 root root 4589115 7月 17 19:20 redis-benchmark -rwxr-xr-x. 1 root root 22177 7月 17 19:20 redis-check-aof -rwxr-xr-x. 1 root root 45387 7月 17 19:20 redis-check-dump -rwxr-xr-x. 1 root root 4693066 7月 17 19:20 redis-cli lrwxrwxrwx. 1 root root 12 7月 17 19:20 redis-sentinel -> redis-server -rwxr-xr-x. 1 root root 6466469 7月 17 19:20 redis-server |
Redis-benchmark:性能测试工具 Redis-check-aof:修复有问题的AOF文件 Redis-check-dump:修复有问题的dump.rdb文件 Redis-cli:客户端,操作入口 Redis-sentinel:redis集群使用 Redis-server:Redis服务器启动命令 |
(1)Redis配置文件
修改redis.conf文件将里面的daemonize no 改成 yes,让服务在后台启动.
[root@pluto /]# mkdir myredis [root@pluto /]# cp /opt/redis-3.0.4/redis.conf /myrediss/ [root@pluto /]# vim /myrediss/redis.conf 37 daemonize yes |
(2)启动Redis
[root@pluto bin]# redis-server /myredis/redis.conf [root@pluto bin]# redis-cli 127.0.0.1:6379> ping PONG 127.0.0.1:6379> |
查看redis启动前后的区别:
#启动前 [root@pluto bin]# ps -ef|grep redis root 32198 6786 0 00:31 pts/3 00:00:00 grep redis #启动后 [root@pluto bin]# ps -ef|grep redis root 32163 1 0 00:28 ? 00:00:00 redis-server *:6379 root 32187 32117 0 00:29 pts/6 00:00:00 redis-cli root 32196 6786 0 00:30 pts/3 00:00:00 grep redis |
(3)关闭Redis
[root@pluto bin]# redis-cli 127.0.0.1:6379> ping PONG 127.0.0.1:6379> SHUTDOWN not connected> exit |
3)Redis基础知识
[1]select
语法:select <dbid>
作用:切换数据库
[root@pluto bin]# redis-server /myredis/redis.conf [root@pluto bin]# redis-cli 127.0.0.1:6379> ping PONG 127.0.0.1:6379> select 1 OK 127.0.0.1:6379[1]> |
[2]Dbsize
语法:Dbsize
作用:查看当前数据库的key的数量
127.0.0.1:6379> Dbsize (integer) 5 |
[3]Flushdb
语法:Flushdb
作用:清空当前库,其它库的并未受影响
127.0.0.1:6379> keys * 1) "k3" 2) "k2" 3) "k1" 127.0.0.1:6379> Flushdb OK 127.0.0.1:6379> keys * (empty list or set) |
[4]Flushall
语法:Flushall
作用:通杀全部库
127.0.0.1:6379> set k1 v1 OK 127.0.0.1:6379> set k2 v2 OK 127.0.0.1:6379> set k3 v3 OK 127.0.0.1:6379> select 1 OK
127.0.0.1:6379[1]> keys * (empty list or set) 127.0.0.1:6379[1]> set v1 k1 OK 127.0.0.1:6379[1]> set v2 k2 OK 127.0.0.1:6379[1]> set v3 k3 OK 127.0.0.1:6379[1]> keys * 1) "v3" 2) "v2" 3) "v1"
127.0.0.1:6379[1]> select 0 OK 127.0.0.1:6379> FLUSHALL OK 127.0.0.1:6379> keys * (empty list or set) 127.0.0.1:6379> select 1 OK
127.0.0.1:6379[1]> keys * (empty list or set) 127.0.0.1:6379[1]> |
参考文档:https://www.runoob.com/redis/redis-benchmarks.html
https://blog.csdn.net/rongDang/article/details/90601033
https://www.cnblogs.com/xiangtingshen/p/10920236.html
https://www.cnblogs.com/homeboot/p/12165741.html
https://www.cnblogs.com/sijizhen/p/10576049.html
https://www.runoob.com/linux/linux-file-content-manage.html
https://jingyan.baidu.com/article/915fc41451154751394b200e.html
https://blog.csdn.net/love20165104027/article/details/83377758
https://www.pianshen.com/article/7915151415/
https://www.runoob.com/redis/redis-install.html
https://blog.csdn.net/xsfqh/article/details/89448976
https://www.cnblogs.com/zhangwuji/p/7152789.html