【Redis】 目前主要更新微服务,一起学习一起进步。
本期主要介绍Redis入门教程详解
随着互联网的高速崛起,网站的用户群的增加,访问量的上升,传统(关系型)数据库上都开始出现了性能瓶颈,web程序不再仅仅专注在功能上,同时也在追求性能。所以NOSQL数据库应运而上,具体表现为对如下三高问题的解决:
2008年,意大利的一家创业公司Merzia推出了一款基于MySQL的网站实时统计系统LLOOGG,然而没过多久该公司的创始人 Salvatore Sanfilippo便 对MySQL的性能感到失望,于是他决定亲自为LLOOGG量身定做一个数据库,并于2009年开发完成,这个数据库就是Redis。 不过Salvatore Sanfilippo并不满足只将Redis用于LLOOGG这一款产品,而是希望更多的人使用它,于是在同一年Salvatore Sanfilippo将Redis开源发布,并开始和Redis的另一名主要的代码贡献者Pieter Noordhuis一起继续着Redis的开发,直到今天。
Salvatore Sanfilippo自己也没有想到,短短的几年时间,Redis就拥有了庞大的用户群体。Hacker News在2012年发布了一份数据库的使用情况调查,结果显示有近12%的公司在使用Redis。国内如新浪微博、街旁网、知乎网,国外如GitHub、Stack Overflow、Flickr等都是Redis的用户。
VMware公司从2010年开始赞助Redis的开发, Salvatore Sanfilippo和Pieter Noordhuis也分别在3月和5月加入VMware,全职开发Redis。
目录或文件 | 作用 |
---|---|
redis-benchmark | 性能测试工具 |
redis-check-aof | AOF文件修复工具 |
redis-check-dump | RDB文件检查工具(快照持久化文件,2.8.9版本) |
redis-cli | 命令行客户端 |
redis-server | redis服务器启动命令 |
redis.windows.conf | redis核心配置文件 |
redis-server.exe
可以启动redis服务
redis-cli
:如果执行ping
命令,输出内容为PONG
,表示redis已经连通
命令 | 描述 |
---|---|
ping | redis客户端通过ping,确定服务是否连接的,服务端响应PONG |
set | 设置字符串数据, set 名称 值 |
get | 获得数据, get 名称 |
del | 删除数据, del 名称 |
<dependencies>
<!--redis-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
<!--测试-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
</dependencies>
package com.czxy.test;
import org.junit.Test;
import redis.clients.jedis.Jedis;
/**
* @author 桐叔
* @email liangtong@itcast.cn
*/
public class TestJedis {
@Test
public void testDemo01() {
//1 连接redis , new Jedis(ip地址i, 端口号)
Jedis jedis = new Jedis("127.0.0.1",6379);
//2 设置数据 , set(键,值)
jedis.set("czxy","传智专修学院");
//3 获得数据 , get(键)
String czxy = jedis.get("czxy");
System.out.println(czxy);
//4 释放资源
jedis.close();
}
package com.czxy.test;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
/**
* @author 桐叔
* @email liangtong@itcast.cn
*/
public class TestJedis {
@Test
public void testDemo02() {
//0 Jedis池的基本信息
// 0.1 创建池子配置对象
JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setMaxTotal(10); //设置最大连接数量
// 0.2 redis基本信息
String host = "localhost";
int port = 6379;
//1. 创建Jedis池子对象
JedisPool jedisPool = new JedisPool(poolConfig, host, port);
//2. 从池子里面获得jedis
Jedis jedis = jedisPool.getResource();
//3. 操作redis数据库
//3.1 存
//jedis.set("czxy", "ccc");
//3.2 取
//System.out.println(jedis.get("czxy"));
//3.3 删除
jedis.del("czxy");
//4. 释放
jedis.close();
jedisPool.close();
}
}