初识Redis

介绍

Redis是一个基于内存的key-value 结构数据库

  • 基于内存存储,读写性能高
  • 适合存储热点数据(热点商品,咨询,新闻)

Redis的下载安装

windows下载redis

下载后直接解压即可,解压后结构目录如下

启动redis服务

命令行输入redis-server.exe redis.windows.config

默认端口号为6379

结束redis服务:Ctrl+c

客户端连接redis服务

连接本地redis:redis-cli.exe

连接远程redis:redis-cli.exe -h ip -p 端口号 -a 密码

客户端退出:exit

修改redis密码

修改配置文件项中的配置:requirepass foobared(替换成自己的密码)

redis数据类型

  • 字符串(string):普通字符串,Redis中最简单的数据类型
  • 哈希(hash):也叫散列,类似于Java中的HashMap结构
  • 列表(list):按照插入顺序排序,可以有重复元素,类似于Java中的LinkedList
  • 集合(set):无序集合,没有重复元素,类似于Java中的HashSet
  • 有序集合(sorted set/zset):集合中每个元素关联一个double类型的分数用来排序
  • (score),根据分数升序排序,没有重复元素

redis常用命令

字符串操作命令

设置指定key的值

SET key value

获取指定key的值 

GET key

设置指定key的值,并将key的过期时间设为 seconds秒 

SETEX key seconds value

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

SETNX key value
哈希操作命令

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

HSET key field value

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

HGET key field

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

HDEL key field

获取哈希表中所有字段

HKEYS key

获取哈希表中所有值

HVALS key
列表操作命令

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

LPUSH key value1 [value2]

获取列表指定范围内的元素

LRANGE key start stop

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

RPOP key

获取列表长度

LLEN key
集合操作命令

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

SADD key member1[member2]

返回集合中的所有成员

SMEMBERS key

获取集合的成员数

SCARD key

返回给定所有集合的交集

SINTER key1 [key2]

返回所有给定集合的并集

SUNION key1 [key2]

删除集合中一个或多个成员

SREM key member1 [member2]
有序集合操作命令

Redis有序集合是string类型元素的集合,且不允许有重复成员。每个元素都会关联一个double类型的分数。常用命令:

向有序集合添加一个或多个成员

ZADD key score1 member1 [score2 member2]

通过索引区间返回有序集合中指定区间内的成员

ZRANGE key start stop [WITHSCORES]

有序集合中对指定成员的分数加上增量 increment

ZINCRBY key increment member

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

ZREM key member [member ... ]
通用命令

查找所有符合给定模式(pattern)的key

KEYS pattern

检查给定key是否存在

EXISTS key

返回key 所储存的值的类型

TYPE key

该命令用于在key 存在是删除key

 DEL key

在java中操作redis

redis的java客户端很多,常用的几种:

  • jedis
  • Lettuce
  • Spring Data Redis

Spring Data Redis是spring的一部分,对redis底层操作进行了封装,接下来,我们将使用Spring Data Redis来对redis进行操作

Spring Data Redis 使用

1.导入maven坐标
	<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-redis</artifactId>
		</dependency>
2.在spring配置文件中配置redis数据源(端口,IP,密码)
redis:
    host:localhost
port:6379
password:123456
database:0//可不配置,redis默认情况下创建了16个数据库。
3.编写配置类,创建RedisTemplate对象。
@Configuration
@S1f4j
public class RedisConfiguration {

@Bean
public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory){
RedisTemplate redisTemplate = new RedisTemplate();
//设置redis的连接工厂对象
redisTemplate.setConnectionFactory(redisConnectionFactory);
//设置redis key的序列化器
redisTemplate.setKeySerializer(new StringRedisSerializer());
return redisTemplate;

}
4.通过RedisTemplate对象操作Redis

java中提供了专门的对象来操作redis,调用对象的方法即可

String类型 

VaueOperations valueOperations=redisTemplate.opsForValue();
哈希类型
HashOperations hashoperation=redisTemplate.opsForHash();

列表类型

ListOperations listoperation=redisTemplate.opsForList();

集合类型

SetOperations setoperation=redisTemplate.opsForSet();

有序集合类型

ZSetOperations zSetoperation=redisTemplate.opsForZSet();

通用命令操作

Set keys=redisTemplate.keys("*");//获取所有key
Boolean name=sedisTemplaete.hasKey("name");//查看是否存在key
DataType type=redisTemplate.type(key);//查询key的类型
sedisTemplaete.delete("myList");//删除存在的key

框架Spring Cache

Spring Cache是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。

Spring Cache提供了一层抽象,底层可以切换不同的缓存实现,例如:

  • EHCache
  • Caffeine
  • Redis

想要切换不同的数据类实现只需要导入不同的依赖即可,例如之前我们导入了Dpring Data Redis的坐标,那他使用的就是redis缓存。

Spring Cache使用

1.导入maven坐标

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
<version>2.7.3</version>
</dependency>

Spring Cache常用注解

存储的key值通过注解的cacheNames和key属性进行设置

@CachePut(cacheNames="userCache",key="#user.id")
key的名字为"userCache::id"

删除多条数据

@CacheEvict(cacheNames ="userCache",allEntries=true)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值