1、Redis简介java
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵照BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。c++
2、安装redis
一、安装依赖数据库
yum -y install gcc gcc-c++ tcl
二、可使用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)dom
# 修改能够远程访问 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和端口信息maven
# 添加主从配置 slaveof 主节点ip 主节点启动的端口
三、启动和中止(若是不加redis.conf配置参数的话,则默认初始密码是空)ide
# 启动并指定配置文件
/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
# 关闭
/usr/local/redis/bin/redis-cli shutdown
四、登录客户端测试
/usr/local/redis/bin/redis-cli auth admin
五、查询和设置登录密码gradle
config get requirepass config set requirepass 新密码
3、使用java进行链接测试
一、如今redis驱动包,添加gradle依赖(maven改下格式就行了)
compile group: 'redis.clients', name: 'jedis', version: '2.9.0'
二、测试代码


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()); } }
yexiangyang
moyyexy@gmail.com