Redis 安装:
-
下载 Redis:
wget http://download.redis.io/releases/redis-3.0.4.tar.gz -
解压源码:
tar -zxvf redis-4.0.14.tar.gz -
对解压的目录进行编译:
make -
安装到指定目录:
make PREFIX=/usr/local/redis install -
redis.conf:
- redis.conf 是 redis的配置文件,redis.conf 在 redis 源码目录
- 注意修改 port 作为 redis 进程的端口,port 默认 6379
-
拷贝配置文件到安装目录下:
- 进入源码目录,里面有一个 redis.conf 文件,然后将其拷贝到安装目录下
cd /usr/local/redis cp /usr/local/redis-4.0.14/redis.conf /usr/local/redis/bin
- 进入源码目录,里面有一个 redis.conf 文件,然后将其拷贝到安装目录下
-
设置 Redis 可远程访问(3.0 默认允许,4.0需要手动设置):
vim redis.conf bign 0.0.0.0
Redis 启动:
-
前端模式启动:
- 直接运行:
bin/redis-server - 缺点:ssh 命令窗口关闭后 redis-server 程序结束,不推荐此方法
- 直接运行:
-
后端模式启动:
- 修改 redis.conf 配置文件,以后端模式启动:

- 执行如下命令启动
bin/redis-server - redis 默认使用 6379 端口
- 修改 redis.conf 配置文件,以后端模式启动:
-
启动多个 redis 进程:
- 方法1:
- 启动时指定端口,可在一台服务器启动多个 redis 进程
cd /usr/local/redis ./bin/redis-server ./redis.conf --port 6380
- 启动时指定端口,可在一台服务器启动多个 redis 进程
- 方法2:
- 创建多个 redis 目录,以端口号命名,将 redis 的安装文件 bin 和 conf 中文件拷贝到这个两个目录
- 修改 redis.conf 中的端口
- 启动各目录下的 redis-server 程序:
cd 6379 ./redis-server ./redis.conf cd 6380 ./redis-server ./redis.conf
- 方法1:
-
redis 停止:
- 强行终止 redis 进程可能会导致 redis 持久化数据丢失。正确停止 redis 方式应该是向 redis 服务器发送 shutdown 命令:
cd /usr/local/redis ./bin/redis-cli shutdown save #连接本机 6379 端口的 redis 服务执行 shutdown 停止该服务 - save:在停止 redis 服务之前将所有的数据持久化保存
- 停止指定端口 redis 服务:
cd /usr/local/redis ./bin/redis-cli -p 端口号 shutdown save
- 强行终止 redis 进程可能会导致 redis 持久化数据丢失。正确停止 redis 方式应该是向 redis 服务器发送 shutdown 命令:
-
连接 redis 服务:
- 执行 redis-cli 连接到 redis 服务端:

- 执行 redis-cli 连接到 redis 服务端:
- 向服务器发送命令:
- ping:redis 提供了 PING 命令来测试客户端与 redis 的连接是否正常,如果正常会收到 PONG

- set / get 方法:
- 使用 set 和 get 可以向 redis 设置数据、获取数据

- 使用 set 和 get 可以向 redis 设置数据、获取数据
- ping:redis 提供了 PING 命令来测试客户端与 redis 的连接是否正常,如果正常会收到 PONG
-
Redis 多数据库:
- redis 实例:
- 一个 redis 进程就是一个 redis 实例,一台服务器可以同时有多个 redis 实例,不同的 redis 实例提供不同的服务端口对外提供服务,每个 redis 实例之间相互影响
- 每个redis 实例都包括自己的数据库,数据库中可以存储自己的数据
- 多数据库测试:
- 一个 redis 实例最多可提供 16 个数据库,下标从 0 到 15
- 客户默认连接 0 号数据库
- 也可以通过 select 选择连接哪个数据库,如连接 1 号数据库:

- 默认设置的 name 在 1 号库是查不到的

- 当选择一个不存在的数据库就会报错

- 注意:redis 不支持修改数据库名称,只能通过数字来选择数据库
- 注意(重点):
- 在 0 号数据库存储数据,在 1 号数据库执行清空命令却把 0 号数据库给清空

- 建议:不同的应用系统使用不同的 redis 实例而不是使用一个 redis 实例下的不同数据库
- 在 0 号数据库存储数据,在 1 号数据库执行清空命令却把 0 号数据库给清空
- redis 实例:
Jedis:
-
介绍:
- Redis 不仅是使用命令来操作,现在基本上主流的语言都有客户端支持,比如 Java、C、C#、C++、php、Node.js、Go 等
- 在官方网站里有一些 Java 的客户端,有 Jedis、ZRedisson、Jredis、JDBC-Redis 等,其中官方推荐使用 Jedis 和 Redisson
- 在企业中用的最多的就是 Jedis
- Jedis 同样也是托管在 GitHub 上,地址:GitHub - redis/jedis: Redis Java client
-
通过 Jedis 连接 redis 单机:
- pom 依赖:
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency> - 单实例 jedis 对象连接 redis 服务:
//单实例连接 redis @Test public void testJedisSingle(){ Jedis jedis = new Jedis("62.234.35.76",6379); jedis.set("name","张三"); System.out.println(jedis.get("name")); jedis.close(); } - 使用连接池连接:
- 通过单实例连接 redis 不能对 redis 连接进行共享,可以使用连接池对 redis 连接进行共享,提高资源利用率,使用 jedisPool 连接 redis:
//使用连接池连接 @Test public void pool(){ JedisPoolConfig config = new JedisPoolConfig(); //最大连接数 config.setMaxTotal(30); //最大连接空闲数 config.setMaxIdle(2); JedisPool pool = new JedisPool(config,"62.234.35.76",6379); Jedis jedis = null; try { jedis = pool.getResource(); jedis.set("name","lisi"); System.out.println(jedis.get("name")); }catch (Exception e){ e.printStackTrace(); }finally { if(jedis != null) jedis.close(); } }
- 通过单实例连接 redis 不能对 redis 连接进行共享,可以使用连接池对 redis 连接进行共享,提高资源利用率,使用 jedisPool 连接 redis:
- pom 依赖:

被折叠的 条评论
为什么被折叠?



