redis入门

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

目录

介绍

下载安装

启动与停止 

设置密码

远程连接

常用数据类型

常用命令

        字符串string

        哈希hash

        列表list

        无序集合set

        有序集合zset

        通用命令 

在Java中操作redis

使用Jedis操作Redis

SpringDataRedis操作Redis 

        SpringCache整合Redis 

框架介绍

常用注解

SpringCache整合Redis


 

介绍

Redis默认端口号为6379

Redis提供了16个数据库默认使用0号数据库更改数据库使用select 几号

Redis的数据存储在内存中

下载安装

 

启动与停止 

Linux中启动Redis服务

进入src目录输入./redis-server

如何让Redis服务后台运行

修改配置文件vim redis.conf

查找daemonize

将no改为yes

启动的时候需要显示的加载配置文件src/redis-server redis.conf

 

设置密码

在redis.conf文件中查找requirepass本来requirepass是被注释的也就是不需要密码我们把注释去掉然后将默认的密码改为123456

进入redis

 

远程连接

1、linux系统中修改redis.conf文件

2、底线命令模式输入/bind查找绑定的ip

3、然后重启redis服务

4、在windows系统中redis个目录下输入redis-cli.exe -h 主机地址 -p 端口 -a 密码

注意记得关防火墙并且redis需要设置密码

 

常用数据类型

Redis存储数据类似于map存储数据可以看做不同的数据类型为不同的map不同的map的存放逻辑不同

 

常用命令

        字符串string

Redis中字符串常用命令

SET key value

设置指定key的值

GET key

获取指定key的值

SETEX key seconds value

设置指定key的值并设置key的存活时间(单位为秒s)

SETNX key value

只有在key不存在时设置key的值

        哈希hash

Redis中hash的常用命令

HSET key field value

将哈希表key中的字段field的值设置为value

HGET key field

获取存储在哈希表中的指定字段的值

HDEL key field

删除存储在哈希表中指定字段

HKEYS key

获取哈希表中指定key的所有字段

HVALS key

获取哈希表中指定key的所有值

HGETALL key

获取在哈希表中指定字段的key的所有字段和值

        列表list

Redis列表是类似双向链表的结构按照插入顺序排序常用命令

LPUSH key value [..values]

将一个或多个值插入到列表头部

LRANGE key start stop

获取列表指定范围内的元素lrange key 0 -1获取所有元素

RPOP key

移除并获取列表最后一个元素

LPOP key

移除并获取列表第一个元素

LLEN key

获取列表的长度

BRPOP key1 [..keys] timeout

移除并获取列表最后一个元素如果列表没有元素会堵塞列表直到等待超时或发现可弹出元素位置

        无序集合set

Redis set是string类型的无序集合。集合成员是唯一的集合中不能出现重复的数据

SADD key member1 [..members]

向集合中添加一个或多个成员

SMEMBERS key

返回集合中的所有成员

SCARD key

返回集合中的成员数

SINTER key1 [..keys]

返回给定所有集合的交集

SUNION key1 [..keys]

返回给定所有集合的并集

SDIFF key1 [..keys]

返回给定所有集合的差集(key1 - key2……)

SREM key member1 [..members]

删除指定集合的一个或多个成员

 

        有序集合zset

Redis sorted set 有序集合是string类型元素的集合且不重复的成员。每个元素都会关联一个double类型的分数(score)。redis正是通过分数来为集合中的成员进行从小到大排序。有序集合成员是惟一的但分数却可以重复

ZADD key score1 member1 [score2 member2…]

向有序集合中添加一个或多个成员或者更新已存在成员的分数

ZRANGE key start stop [WITHSCORES]

返回有序集合指定区间的成员

ZINCRBY key increment member

对指定成员的分数增加increment

ZREM key member [..members]

移除有序集合中的一个或多个成员

        通用命令 

KEYS pattern

查找所有符合给定参数的key

EXISTS key

检查指定key是否存在

TYPE key

返回指定key的类型

TTL key

返回指定key的存活时间

DEL key

删除指定key

 

在Java中操作redis

 

        使用Jedis操作Redis

步骤

1、引入依赖

<dependencies>

<dependency>

<groupId>redis.clients</groupId>

<artifactId>jedis</artifactId>

<version>2.8.0</version>

</dependency>

<dependency>

<groupId>junit</groupId>

<artifactId>junit</artifactId>

<version>4.12</version>

<scope>test</scope>

</dependency>

</dependencies>

2、创建连接

3、执行具体操作

4、关闭连接

        SpringDataRedis操作Redis 

0、添加依赖

<!--springdataredis-->

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-data-redis</artifactId>

</dependency>

1、修改配置文件

spring:
#Redis相关配置
	data:
		redis:
			host:localhost
			port:6379
			#password:123456
			database:0#操作的是0号数据库
			jedis:
			#Redis连接池配置
				pool:
					max-active:8#最大连接数
					max-wait:1ms#连接池最大阻塞等待时间
					max-idle:4#连接池中的最大空闲连接
min-idle:0#连接池中的最小空闲连接

2、修改配置类springdataredis默认提供序列化器会导致放进去的key被序列化成别的样子

/**
*Redis配置类
*/

@Configuration
public class RedisConfig extends CachingConfigurerSupport{

@Bean
public RedisTemplate<Object,Object> redisTemplate(RedisConnectionFactory connectionFactory){
	RedisTemplate<Object,Object>redisTemplate=newRedisTemplate<>();

	//默认的Key序列化器为JdkSerializationRedisSerializer
	redisTemplate.setKeySerializer(newStringRedisSerializer());
	redisTemplate.setHashKeySerializer(newStringRedisSerializer());

	redisTemplate.setConnectionFactory(connectionFactory);
	return redisTemplate;
	}
}

3、自动注入redisTemplate对象只要引入了SpringDataRedis依赖spring容器中就会有该对象

4、通过redisTemplate提供的opsFor+数据类型()方法设置数据

 

        SpringCache整合Redis 

框架介绍

 

常用注解

想要SpringCache使用哪个缓存技术就引入哪个依赖如果使用redis就引入SpringCache和Redis的依赖

注解的属性

value缓存的名称

key缓存的key

使用

 

SpringCache整合Redis

1、导入maven坐标

spring-boot-starter-data-redis、spring-boot-starter-cache

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-cache</artifactId>

</dependency>



<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-data-redis</artifactId>

</dependency>

2、配置application.yml

spring:

        cache:

                redis:

                        time-to-live: 1800000

3、启动类上方加入@EnableCaching注解开启缓存注解功能

4、在Controller的方法上方加入@Cacheable@CacheEvict等注解进行缓存功能

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: redis