Redis的使用

本文介绍Redis的特点、数据类型及其应用场景。Redis是一种高性能的键值存储系统,支持丰富的数据结构,包括字符串、哈希、列表、集合和有序集合等。此外还探讨了Redis的安装、使用方法、持久化策略以及Java客户端的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Redis简介

Redis是一个由Salvatore Sanfilippo写的key-value存储系统。

Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API

Redis通常被称为数据结构服务器,因为值(value)可以是字符串(String), 哈希(Map), 列表(list), 集合(sets) 和有序集合(sorted sets)等类型。

Reids优点

1)、异常快速 : Redis是非常快的,每秒可以执行大约110000设置操作,81000/每秒的读取操作。

2)、支持丰富的数据类型 : Redis支持最大多数开发人员已经知道如列表,集合,可排序集合,哈希等数据类型。这使得在应用中很容易解决的各种问题,因为我们知道哪些问题处理使用哪种数据类型更好解决。

3)、操作都是原子的 : 所有 Redis 的操作都是原子,从而确保当两个客户同时访问 Redis 服务器得到的是更新后的值(最新值)。

4)、多功能实用工具:Redis是一个多功能实用工具,可以在很多如:缓存,消息传递队列中使用(Redis原生支持发布/订阅),在应用程序中,如:Web应用程序会话,网站页面点击数等任何短暂的数据。

Redis缺点

1)、单线程

2)、耗内存

Redis安装

Redisc语言开发的。

安装redis需要c语言的编译环境。如果没有gcc需要在线安装。Yum install gcc-c++

安装步骤:

第一步:redis的源码包上传到linux系统;

第二步:解压缩redis

第三步:编译make

第四步:安装make install PREFIX=/usr/local/redis

Redis使用

启动Redis

 

 

客户端连接

 

Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set有序集合)

String

Redis 字符串是一个字节序列。在 Redis 中字符串是二进制安全的,这意味着它们没有任何特殊终端字符来确定长度,所以可以存储任何长度为 512 兆的字符串。

 

Hash

Redis哈希是键值对的集合。 Redis哈希是字符串字段和字符串值之间的映射,所以它们用来表示对象。

 

在上面的例子中,哈希数据类型用于存储包含用户基本信息的用户对象。

List

Redis 列表是简单的字符串列表,通过插入顺序排序。可以添加一个元素到 Redis 列表的头部或尾部。

lpush:添加一个字符串值到LIST容器的顶部(左侧),

rpush:添加一个字符串值到LIST容器的底部(右侧)。

 

列表的最大长度为  232 - 1 个元素(4294967295,每个列表的元素超过四十亿)。

Set

Redis 集合是字符串的无序集合。在 Redis 可以添加,删除和测试成员存在的时间复杂度为 O1)。

 

在上面的例子中 rabitmq 被添加两次,但由于它是只集合具有唯一特性。集合中的成员最大数量为 232 - 14294967295,每个集合有超过四十亿条记录)。

Zset

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

 

图形化界面


16个数据库,可以配置。默认使用0号数据库。这16个库互相之间是独立的。类似于同一MySQL服务器里面的多个数据库。可以使用SELECT <dbid>命令在连接上指定数据库id

Java客户端

Jedis:JedisRedis官方推出的一款面向Java的客户端,提供了很多接口供Java语言调用。

使用步骤:

1、创建一个java工程

2、把jar包添加到工程中

3、创建一个Jedis对象,指定服务器的ip及端口号。

4、使用jedis操作redis数据库。

5、关闭jedis对象。

Redis常用命令

EXPIRE key seconds        设置key的生存时间(单位:秒)key在多少秒后会自动删除

TTL key                   查看key生于的生存时间

PERSIST key               清除生存时间

PEXPIRE key milliseconds  生存时间设置单位为:毫秒

Redis的持久化

Rdb:快照形式。Redis所有的数据是保存在内存中。把当前时刻的数据向磁盘保存。保存到dump.rdb文件中。默认持久化方案,默认开启。

Aof:把所有对数据库操作的命令保存到一个文件中。需要手工开启。

Rdb形式

 

备份数据库只需要把dump.rdb备份即可。

RDB配置:

 

Aof形式

默认不开启。需要手工开启。可以和rdb形式同时开启。

 

如果同时开启会使用aof文件恢复数据。

Aof默认是每秒中保存一次数据,数据完整性较高。性能会下降。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值