zoukankan      html  css  js  c++  java
  • Redis在linux下安装和测试

    一、Redis简介

      REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

    二、安装

      1、安装依赖

    yum -y install  gcc gcc-c++ tcl

      2、可以使用wget选择对应的版本下载

    cd  /usr/local/src/
    # 下载
    wget http://download.redis.io/releases/redis-4.0.9.tar.gz
    # 解压
    tar  xzf redis-4.0.9.tar.gz
    # 切换到解压目录
    cd  redis-4.0.9/src
    # 编译,编译出错就使用:make MALLOC=libc 编译
    make
    # 测试
    make test
    # 指定安装到对应目录
    make install PREFIX=/usr/local/redis/ 
    # 复制配置文件到安装目录
    cp redis.conf /usr/local/redis/

      修改/redis.conf (可以取消 #requirepass foobared这行注释,foobared则为登陆密码,如我设置成admin)

    # 修改可以远程访问
    bind 0.0.0.0
    # 修改保护模式
    protected-mode no
    # 修改成后台启动
    daemonize yes
    # 将文件名改成redis要启动的端口,如果安装多个redis
    pidfile /var/run/redis_6379.pid
    # 数据存储目录,改成绝对路径
    dir /usr/local/redis/data/

      主从配置,只需要添加一行配置信息,在新的机器上安装redis,重复1-2步骤,在redis.conf里添加主节点的ip和端口信息

    # 添加主从配置
    slaveof  主节点ip  主节点启动的端口

      3、启动和停止(如果不加redis.conf配置参数的话,则默认初始密码是空)

    # 启动并指定配置文件
    /usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
    # 关闭
    /usr/local/redis/bin/redis-cli shutdown

      4、登陆客户端

    /usr/local/redis/bin/redis-cli 
    
    auth  admin

      5、查询和设置登陆密码

    config  get requirepass
    
    config  set requirepass  新密码

    三、使用java进行连接测试

          1、现在redis驱动包,添加gradle依赖(maven改下格式就好了)

        compile group: 'redis.clients', name: 'jedis', version: '2.9.0'

          2、测试代码

    package com.moy.redis;
    
    import redis.clients.jedis.Jedis;
    
    import java.util.Arrays;
    import java.util.Iterator;
    import java.util.Set;
    import java.util.UUID;
    
    /**
     * [Project]:moy-gradle-project  <br/>
     * [Email]:moy25@foxmail.com  <br/>
     * [Date]:2018/2/7  <br/>
     * [Description]:  <br/>
     *
     * @author YeXiangYang
     */
    public class RedisTest {
    
        public static void main(String[] args) {
            Jedis jedis = new Jedis("192.168.182.128", 6379);
            jedis.auth("admin");
    
            connectTest(jedis);
    
            saveString(jedis);
    
            saveList(jedis);
    
            saveSet(jedis);
    
            listAllKey(jedis);
    
            jedis.close();
        }
    
        private static void saveSet(Jedis jedis) {
            String setKey = "set-key";
            jedis.sadd(setKey, "-1", "-1", "2");
            System.out.println("[saveSet]:" + Arrays.toString(jedis.smembers(setKey).toArray()));
        }
    
        private static void listAllKey(Jedis jedis) {
            Set<String> keys = jedis.keys("*");
            Iterator<String> iterator = keys.iterator();
            System.out.print("[listAllKey]:");
            while (iterator.hasNext()) {
                System.out.print(" " + iterator.next());
            }
            System.out.println();
        }
    
        private static void saveList(Jedis jedis) {
            String listKey = "save-list";
    
            jedis.lpush(listKey, "[list1]" + UUID.randomUUID().toString());
            jedis.lpush(listKey, "[list2]" + UUID.randomUUID().toString());
            jedis.lpush(listKey, "[list3]" + UUID.randomUUID().toString());
    
            System.out.println("[saveList]:" + Arrays.toString(jedis.lrange(listKey, 0, 2).toArray()));
        }
    
        private static void saveString(Jedis jedis) {
            jedis.set("hello", "tony");
            String value = jedis.get("hello");
            System.out.println("[saveString]:" + value);
        }
    
        private static void connectTest(Jedis jedis) {
            System.out.println("[connectTest]:" + jedis.ping());
        }
    }
    View Code

    yexiangyang

    moyyexy@gmail.com


     

  • 相关阅读:
    Python-PyQt5-图形可视化界面(5)--打开文件或文件夹--QFileDialog
    python opencv图片拼接源码
    python numpy库矩阵运算的功能
    stm32定时器/定时器中断/PWM输出/输入捕获
    STM32 串口/中断
    STM32F4 IO
    STM32F4 时钟树概述
    MDK5新建工程/MDK5 使用技巧/STM32F4 在线调试
    使用 LocalDate 过滤掉工作日
    斐波拉契数列(Lambda表达式)
  • 原文地址:https://www.cnblogs.com/moy25/p/8531231.html
Copyright © 2011-2022 走看看