介绍
掌握以下几点:
- 知道redis是nosql的一种,除此还有常见的mongodb,hbase,neo4j等
- redis是为了解决"三高"及大数据存储等问题,作为关系型数据库的补充【注:不能替代mysql】
- redis存储的数据之间没有必要的联系,不像关系型数据库在结构上要求有行有列。
- redis属于的nosql大都事务不好,没有关系型数据库强一致性的优势【现在出现了新的NewSQL】
- redis是单进程,单线程的内存数据库,不存在线程安全问题,底层采用多路复用(NIO思想)
- 比memcache有更优秀的读写性能,更丰富的数据类型
- 9大应用场景(见图,详情见后续)
安装
因为redis官方没有Windows版本,所以我们安装的是Linux版本
好,我们正式进入安装说明~
要把redis安装好,总共分四步:
第一步:安装c语言的GCC环境(已有的忽略)
yum install -y gcc-c++
yum install -y wget
第二步:下载并解压redis源码压缩
wget http://download.redis.io/releases/redis-5.0.4.tar.gz
tar -zxf redis-5.0.4.tar.gz
第三步:进入 redis-5.0.4目录,执行编译命令,编译源码
cd redis-5.0.4
make
第四步:安装redis,通过prefix指定安装路径
make install prefix=/software/server/redis
启动
前端启动
进入安装目录,执行启动命令
cd /software/server/redis/bin
./redis-server
【关闭】 ctrl+c
【缺点】客户端窗口关闭,则redis程序结束
后台启动(守护进程启动)
第一次启动是三步走:
第一步:将源码目录中redis.conf文件拷贝到安装目录bin目录下
cp /root/redis-5.0.4/redis.conf /software/server/bin
第二步:进入redis安装目录,修改redis.conf文件
vim redis.conf
# 将 `daemonize` 由 `no` 改为 `yes`
daemonize yes
# 默认绑定的是回环地址,默认不能被其他机器访问
# bind 127.0.0.1
# 是否开启保护模式,由 yes 该为 no
protected-mode no
第三步:启动服务,进入安装目录的bin目录,执行启动命令
./redis.server redis.conf
【关闭】./redis-cli shutdown
验证
ps -ef | grep redis
连接
两种方式:
1.命令行客户端
./redis-cli -h 127.0.0.1 -p 6379
-h:redis服务器ip地址,不写默认127.0.0.1
-p:redis实例端口号,不写默认6379
2.java客户端Jedis
官网提供的java客户端有Jedis,Redisson,Jredis,JDBC-Redis等,使用最多的Jedis
添加依赖
<dependencies>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.0.7.RELEASE</version>
</dependency>
<!-- 单元测试Junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
<build>
<plugins>
<!-- 配置Maven的JDK编译级别 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
三种连接方式:
单实例连接
@Test
public void testRedis01(){
Jedis jedis = new Jedis("192.168.71.25", 6379);
String name = jedis.get("name");
System.out.println(name);
jedis.close();
}
连接池连接
@Test
public void testRedis02(){
JedisPool jedisPool = new JedisPool("192.168.71.25",6379);
Jedis resource = jedisPool.getResource();
String name = resource.get("name");
System.out.println(name);
}
还有一种连接redis集群,这个见后续啦
完结,撒花❀❀❀❀❀❀