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


 

原文地址:https://www.cnblogs.com/moy25/p/8531231.html