zoukankan      html  css  js  c++  java
  • Linux配置Redis

    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下载。

    Http://redis.io/

    Http://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-sentinelredis集群使用

    Redis-serverRedis服务器启动命令

    (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/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

    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

     

  • 相关阅读:
    day 05 讲解java三大特性
    day 02 运算符
    石大 6-9 待提交
    poj分类
    NLog使用总结
    VS 2010下单元测试
    MQTT----物联网常用的消息队列协议
    使用jfreechart生成柱状图、折线图、和饼状图
    JavaBean持久化
    使用maven搭建springMVC开发环境
  • 原文地址:https://www.cnblogs.com/CSAH/p/13818146.html
Copyright © 2011-2022 走看看