Redis汇总

一.简介

二.redis常用命令(http://doc.redisfans.com/)

三.安装步骤

Redis 支持单机版和集群,下面的步骤是单机版安装步骤
1. # yum install -y gcc-c++
    1.1 由于是 c 语言编写,所以需要安装支持组件
2. 把压缩包上传到 linux 服务器上
    2.1 示例位置: /usr/local/tmp/ 下
3. # cd /usr/local/tmp
    # tar zxvf redis-3.0.6.tar.gz
    3.1 进入到/usr/local/tmp 下 运行解压命令
4. # make
    4.1 进入到解压后的目录编译
5. # make install PREFIX=/usr/local/redis
    5.1 安装,设置安装路径为/usr/local/redis 下
    5.2 进入到 src 下安装
6. # ./redis-server
    6.1 前端启动,安装后不能进行其他操作
    6.2 Ctrl+c 退出
    6.3 命令要在 bin 目录下执行
7. # cp /usr/local/tmp/redis-3.0.0/redis.conf /usr/local/redis/bin
    7.1 把解压目录下配置文件拷贝到安装目录的 bin 下
8.# vi redis.conf
    8.1 修改 bin 下 redis.conf
    8.2 把 daemonize 由 no 修改成 yes,守护进程启动
9.# ps aux|grep redis
    9.1 查看 redis 启动情况
10../redis-server redis.conf
    10.1 启动 redis 服务
11.# ./redis-cli shutdown
    11.1 如果希望关闭,运行上面命令,不关闭不运行即可
12.# ./redis-cli
    12.1 进入到自带客户端工具,测试 redis 是否可用
13 # set name ‘smallming’ 12.1 添加一个 string ,key 为 name,value 为 smallming
14# get name
    14.1 取出 name 中内容

四.密码设置

五.Jedis---------Jedis 是 Redis 客户端工具 jar

在junit5中依赖和@BeforeAll/@BeforeEach有变化

---pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.kennosaur</groupId>
	<artifactId>Jedis</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<dependencies>
		<dependency>
			<groupId>redis.clients</groupId>
			<artifactId>jedis</artifactId>
			<version>3.1.0</version>
		</dependency>
		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter-api</artifactId>
			<version>5.5.2</version>
		</dependency>
		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter-engine</artifactId>
			<version>5.5.2</version>
			<scope>test</scope>
		</dependency>


	</dependencies>
</project>

---Demo.java

package com.kennosaur.test;

import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;

import redis.clients.jedis.Jedis;

public class Demo {
	
	private static Jedis jedis;
	@BeforeAll
	public static void before() {
		jedis  = new Jedis("192.168.8.128", 6379);
		System.out.println("beforeall");
	}
	@Test
	public void aa() {
		
		String res = jedis.set("address", "海淀");
		System.out.println(res);
		
		String addr = jedis.get("address");
		System.out.println(addr);
		
		
		Long del = jedis.del("address");
		System.out.println(del);
		
	}
	
	@Test
	public void bb() {
		System.out.println("bb");
	}
	@AfterAll
	public static void after() {
		jedis.close();
		System.out.println("afterall");
	}
}

六.Redis集群

public class RedisCluster {
	@Test
	public void test() {
		Set<HostAndPort> node = new HashSet<>();
		node.add(new HostAndPort("192.168.8.128", 7001));
		node.add(new HostAndPort("192.168.8.128", 7002));
		node.add(new HostAndPort("192.168.8.128", 7003));
		node.add(new HostAndPort("192.168.8.128", 7004));
		node.add(new HostAndPort("192.168.8.128", 7005));
		node.add(new HostAndPort("192.168.8.128", 7006));
		
		JedisCluster cluster = new JedisCluster(node);
		String res = cluster.get("c");
		System.out.println(res);
		
	}
}

======搭建集群======

redis-4.1.3.gem--------下载地址:https://rubygems.org/gems/redis/versions/4.1.3

安装redis.gem需要ruby版本>= 2.3.0--------------ruby安装方式:https://www.runoob.com/ruby/ruby-installation-unix.html

集群搭建命令有变化(猜测:如果指令变化应该可以不用安装ruby环境):

./redis-cli --cluster create 192.168.8.128:7001 192.168.8.128:7002 192.168.8.128:7003 192.168.8.128:7004 192.168.8.128:7005 192.168.8.128:7006 --cluster-replicas 1

1.# yum install ruby -y
    1.1 后面需要用到 ruby 脚本
2.# yum install rubygems -y
    2.1 安装 ruby 包管理器
3.# gem install redis-3.0.0.gem
    3.1 脚本需要 ruby 其他包,所以安装这个 redis.gem
4.# mkdir reids-cluster
    4.1 在/usr/local 中新建 redis-cluster 文件夹
5.# cp -r bin ../redis-cluster/redis01
    5.1 把之前安装好的 redis/bin 复制到 redis-cluster 中并起名为 redis01
6.# rm -rf dump.rdb
    6.1 删除掉 redis01 中 dump.rdb 数据库文件
7.# vi redis.conf
    7.1 修改 redis01 中端口号为 7001, 找到 port 后面修改为 7001
    7.2 去掉 cluster-enabled yes 前面的注释
    7.3 如果之前设置过密码,注释掉密码.如果没有设置过过略 7.3 这步骤
8.# cp -r redis01 redis02
    cp -r redis01 redis03
    cp -r redis01 redis04
    cp -r redis01 redis05
    cp -r redis01 redis06
    8.1 把 redis01 文件夹在复制 5 份,分别起名为 redis02,redis03,redis04,redis05,redis06
9# vi redis02/redis.conf
    9.1 此命令需要在 redis-cluster 下执行
    9.2 把 其 他 5 个 文 件 夹 中 redis.conf 中 port 修 改 成 不 同 的 值 , 分 别 为
7002,7003,7004,7005,7006
10.# cp *.rb /usr/local/redis-cluster/
    10.1 去 redis 解压目录中 src 下执行此命令
    10.2 把 redis-trib.rb 复制到 reids-cluster 中. 11.# vi startall.sh
11.1 创建一个批量启动文件
11.2 把下面内容粘贴到文件中
cd redis01
./redis-server redis.conf
cd .. 
cd redis02
./redis-server redis.conf
cd .. 
cd redis03
./redis-server redis.conf
cd .. 
cd redis04
./redis-server redis.conf
cd ..
cd redis05
./redis-server redis.conf
cd .. 
cd redis06
./redis-server redis.conf
cd .. 
12.# chmod +x startall.sh
    12.1 给脚本设置一个可启动权限
13.# ./startall.sh
    13.1 执行脚本,启动所有 redis 服务
14.# ps aux|grep redis
    14.1 查看所有服务是否启动成功
15.# ./redis-cli --cluster create 192.168.8.128:7001 192.168.8.128:7002 192.168.8.128:7003 192.168.8.128:7004 192.168.8.128:7005 192.168.8.128:7006 --cluster-replicas 1
    15.1 创建集群
    15.2 在执行时按照提示输入’yes’ 16.# ./redis01/redis-cli -h 192.168.10.128 -p 7001 -c
16.1 进入任意节点测试
17.# redis01/redis-cli -p 7001 shutdown
    17.1 关闭其中一个 redis
18.# vi shutdown.sh
    18.1 在 redis-cluster 中创建文件,并添加下面内容
./redis01/redis-cli -p 7001 shutdown
./redis02/redis-cli -p 7002 shutdown
./redis03/redis-cli -p 7003 shutdown
./redis04/redis-cli -p 7004 shutdown
./redis05/redis-cli -p 7005 shutdown
./redis06/redis-cli -p 7006 shutdown

======在spring中可以集群写在配置文件中========

	<!-- 配置jedis连接池 -->
	<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
		<!-- 最大连接数 -->
		<property name="maxTotal" value="30" />
		<!-- 最大空闲连接数 -->
		<property name="maxIdle" value="10" />
		<!-- 每次释放连接的最大数目 -->
		<property name="numTestsPerEvictionRun" value="1024" />
		<!-- 释放连接的扫描间隔(毫秒) -->
		<property name="timeBetweenEvictionRunsMillis" value="30000" />
		<!-- 连接最小空闲时间 -->
		<property name="minEvictableIdleTimeMillis" value="1800000" />
		<!-- 连接空闲多久后释放, 当空闲时间>该值 且 空闲连接>最大空闲连接数 时直接释放 -->
		<property name="softMinEvictableIdleTimeMillis" value="10000" />
		<!-- 获取连接时的最大等待毫秒数,小于零:阻塞不确定的时间,默认-1 -->
		<property name="maxWaitMillis" value="1500" />
		<!-- 在获取连接的时候检查有效性, 默认false -->
		<property name="testOnBorrow" value="true" />
		<!-- 在空闲时检查有效性, 默认false -->
		<property name="testWhileIdle" value="true" />
		<!-- 连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true -->
		<property name="blockWhenExhausted" value="false" />
	</bean>
	
	
	
	<!-- jedisCluster -->
	<bean id="jedisClients" class="redis.clients.jedis.JedisCluster">
		<constructor-arg name="poolConfig" ref="jedisPoolConfig"/>
		<constructor-arg name="nodes">
			<set>
				<bean class="redis.clients.jedis.HostAndPort">
					<constructor-arg name="host" value="192.168.8.128"/>
					<constructor-arg name="port" value="7001"/>
				</bean>
				<bean class="redis.clients.jedis.HostAndPort">
					<constructor-arg name="host" value="192.168.8.128"/>
					<constructor-arg name="port" value="7002"/>
				</bean>
				<bean class="redis.clients.jedis.HostAndPort">
					<constructor-arg name="host" value="192.168.8.128"/>
					<constructor-arg name="port" value="7003"/>
				</bean>
				<bean class="redis.clients.jedis.HostAndPort">
					<constructor-arg name="host" value="192.168.8.128"/>
					<constructor-arg name="port" value="7004"/>
				</bean>
				<bean class="redis.clients.jedis.HostAndPort">
					<constructor-arg name="host" value="192.168.8.128"/>
					<constructor-arg name="port" value="7005"/>
				</bean>
				<bean class="redis.clients.jedis.HostAndPort">
					<constructor-arg name="host" value="192.168.8.128"/>
					<constructor-arg name="port" value="7006"/>
				</bean>
			</set>
		</constructor-arg>
	</bean>


 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值