0%

Redis快速入门

官网:https://redis.io/
GitHub地址:https://github.com/redis/redis

1:快速安装

Windows下解压即可,运行命令:redis-server.exe
如果出现以下情况:

可以尝试运行命令: redis-server.exe –maxheap 10240000

image.png

运行成功!

2:连接客户端/工具

在Windows下,你可以运行以下命令:redis-cli.exe [-h redis的服务id地址 –p 端口号]
如果是本地的Redis服务器,后面的可以省略不写。
RedisDesktopManager是一款桌面连接Redis的工具,提供可视化的数据管理。

3:基本命令

1
2
3
4
# 选择数据库,默认0号(有16个)
select 1
# 退出
exit

3.1:字符串String

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 设置字符串===键值对
set key value
# 取字符串====get键
get key
# 删除字符串
del key
# ========数字运算===========
set views 0
#自动增加1
incr views
#每次增加指定数字10
incrby views 10
#自动减1
decr views
#每次减指定数字10
decrby views 10
# =========字符串处理============
set hello world
# 尾部追加
append hello ===java
# 获取字符串长度
strlen hello
# ======批量添加=========
mset key1 name1 key2 name2
mget key1 key2
# =======设置分组========
set a:b:c:name boybi

3.2:List集合

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 向集合中添加元素 
lpush names zhangsan lisi wangwu
# lpush 往左加 rpush 往右边
rpush qingtan tuzi keke
# 获取集合的长度
llen names
# 获取集合中某个位置的值,索引从0开始
lindex names 0
# 移取集合中的值
lpop names
# 重新设置某个位置的值
Lset names 0 xxx
# 获取集合某范围的元素
lrange names 0 1

3.3:Hash集合

Hash主要用来存储对象

1
2
3
4
5
6
7
8
9
10
11
12
13
# 设置hash集合 hmset 键  字段1 值  字段2 值
hmset stuobj xh 101 name wangzha age 21
# 获取hash集合中的值
# hget 键 字段1 获取键值对象集合中的某个字段
# hmget 键 字段1 字 段2 获取多个字段的值
hget stuobj xh
hmget stuobj xh name
# 获取长度
hlen stuobj
# 获取所有的键
hkeys stuobj
# 获取所有的值
hvals stuobj

4:SpringBoot 整合 Redis

4.1:导入依赖

1
2
3
4
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

4.2:配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 添加整合redis的配置
## Redis数据库索引(默认为0)
spring.redis.database=0
## Redis服务器地址
spring.redis.host=127.0.0.1
## Redis服务器连接端口
spring.redis.port=6379
## Redis服务器连接密码(默认为空)
spring.redis.password=
## 连接池最大连接数(使用负值表示没有限制)
spring.redis.jedis.pool.max-active=8
## 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.jedis.pool.max-wait=1ms
## 连接池中的最大空闲连接
spring.redis.jedis.pool.max-idle=8
## 连接池中的最小空闲连接
spring.redis.jedis.pool.min-idle=0
## 连接超时时间(毫秒)
spring.redis.timeout=1200ms

4.3:使用对象RedisTemplate

1
2
@Autowired(required = false)
private RedisTemplate redisTemplate; // 注入Redis操作对象

5:补充说明(踩坑记录)

Redis的官方自由Linux版本,Windows版本是微软维护的。所以,安装上,Linux会复杂一些。
经历了网上各种坑后,终于走出来了,写在这里为了防止以后再次踩坑。

5.1:传统安装

先下载一份tar.gz文件到本地,官方下载网站:http://download.redis.io/releases/
2M大小,翻不翻墙都无所谓,很快。
但是,当你上传到Linux解压后,问题来了,很明显,这里是不包含依赖文件的。
你得先去安装gcc:

当你安装了gcc后在redis的解压目录(不是src目录,不是src目录,不是src目录)里面执行命令:
make install
当所有的都安装好了之后,再执行开启服务命令:
redis-server redis.conf
当服务可以跑起来了之后,你可以重新打开一个窗口新建一个链接。
这时候你可以进入到redis安装目录的src目录下(这个时候才是src)执行测试客户端命令:
redis-cli

5.2:解决乱码问题

参考:https://www.jianshu.com/p/6963bf601013
创建一个实体类(用于配置,在启动类下级目录即可)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
@Configuration
public class RedisConfig {
@Autowired
private RedisTemplate redisTemplate;

@Bean
public RedisTemplate redisTemplateInit() {
//设置序列化Key的实例化对象
redisTemplate.setKeySerializer(new StringRedisSerializer());
//设置序列化Value的实例化对象
redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
return redisTemplate;
}
}

效果如下所示:
image.png