redis学习之redis的安装和简介

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: redis简介Redis是一个开源的,高性能的,基于键值对的缓存与存储系统,通过设置各种键值数据类型来适应不同场景下的缓存与存储需求。同时redis的诸多高层级功能使其可以胜任消息队列,任务队列等不同角色。

redis简介

Redis是一个开源的,高性能的,基于键值对的缓存与存储系统,通过设置各种键值数据类型来适应不同场景下的缓存与存储需求。同时redis的诸多高层级功能使其可以胜任消息队列,任务队列等不同角色。

存储结构

Redis是REmote Dictionary Server(远程字典服务器)的缩写,它以字典结构存储数据,并允许其他应用通过TCP协议读写字典中的内容,目前为止redis支持的键值数据类型如下:字符串类型,散列类型,列表类型,集合类型,和有序集合类型。其中一个字符串类型键值允许存储的数据最大容量为521M.

内存存储与持久化

Redis数据库中的所有数据都存储在内存中。在一台普通的笔记本电脑上,Redis可以在一秒内读写超过10万个键值。
数据存储在内存也有问题比如断电。redis还提供了持久化的存储,既可以将内存的数据异步写入应哦按,同时不影响继续
提供服务。

功能丰富

Redis可以为每个键设置生存时间,生存时间到后期会自动删除,这一功能可以利用redis作为缓存系统来调用。
除此之外,redis的列表类型键可以用来实现队列,并且支持阻塞式读取,可以容易地实现一个高性能的优先级队列,同时在更高层上,redis还支持"发布/订阅"的消息模式,可以基于此构建聊天室。

redis的安装

参考windows安装redis

redis命令行客户端

通过redis-cli向redis发送命令,

通过-h和-p自定义地址和端口号$redis-cli -h 127.0.0.1 -p 6379
AI 代码解读

通过ping命令测试连接是否正常

$redis-cli PING####状态回复
PONG####错误回复
如果上述命令不存在或者存在格式错误,会返回以error开头的错误。如reids>ERRORCOMMEND
输出
(error)ERR unknow command 'ERRORCOMMEND'
AI 代码解读

获取先输入redis-cli进入交互模式,然后自由输入命令,例如PING.

整数回复

返回递增后的键值,类似mysql最后的索引值

依次执行以下命令redis-cli
127.0.0.1:6379> set foot barOK
127.0.0.1:6379> INCR foo
(integer) 1
127.0.0.1:6379> set foot barOK
127.0.0.1:6379> INCR foo
(integer) 2
AI 代码解读

可以看到每次插入一条数据返回值都跟着变化。

字符串回复

127.0.0.1:6379> set foot barOK
127.0.0.1:6379> get foo
"bar"
127.0.0.1:6379> set foo bananaOK
127.0.0.1:6379> get foo
"banana"
127.0.0.1:6379>
AI 代码解读

可以看到get命令可以获取foo的最新的键值。

字符串多行回复

127.0.0.1:6379> KEYS *1"proxies"2"foo"3"foot"
AI 代码解读

返回键名1是我之前执行的,3是之前foo打错了执行的。keys命令需要便利redis中的所有键,当键的数量较多时会影响性能,不建议生产环境中使用。

多行数据库

redis提供了多个来存储数据的字典,每个字典类型mysql的数据量,每个数据库对外都是以0开始递增,redis默认支持16个数据库,客户端连接到服务端时,redis默认使用0进行操作数据库,使用select可以根据数据库。比如选择1号数据库:

redis-cli
127.0.0.1:6379> select 1OK
127.0.0.1:6379[1]> get foo
(nil)
127.0.0.1:6379[1]>
AI 代码解读

redis不支持自定义数据库的名字,每个数据库必须以编号命名。比如可以使用0号数据库存储某个应用生产环境的数据,1号数据库存储测试环境中的数据,需要注意的是不同的应用应该使用不同的redis实例redis也不支持为每个数据库设置不同的访问密码。
最重要的是redis实例中所有数据库的数据并不是完全隔离的,比如FLUSHALL可以清空一个redis实例中所有数据库中的数据。。由于redis非常轻量级,一个空的redis实例占用内存只有1MD左右,所以不用担心多个redis实例会额外占用很多内存。

几个基础命令

1.keys 见上面的例子

2.判断一个键是否存在

exists key 如果存在返回1 ,不存在返回0

0.0.1:6379> exists foo
(integer) 1
127.0.0.1:6379> exists foo2
(integer) 0
127.0.0.1:6379> exists foot
(integer) 1
127.0.0.1:6379>
AI 代码解读

3.删除键

del key [key …]
可以删除一个或者多个空格间隔,返回值是删除的个数。del命令不支持通配符。

127.0.0.1:6379> set f1 1OK
127.0.0.1:6379> set f3 1OK
127.0.0.1:6379> set f2 1OK
127.0.0.1:6379> keys *
1"key"
2"f1"
3"proxies"
4"f2"
5"foot"
6"foo"
7"f3"
127.0.0.1:6379> del f1
(integer) 1
127.0.0.1:6379> del f2 f3
(integer) 2
127.0.0.1:6379>
AI 代码解读

3.获取键值的数据类型
type key
type命令用来获取键值类型,返回值可能是string,hash,list,set,zset(有序集合)。

127.0.0.1:6379> set test 1OK
127.0.0.1:6379> type teststring
127.0.0.1:6379> lpush test2 2
(integer) 1
127.0.0.1:6379> type test2list
127.0.0.1:6379>
AI 代码解读

lpush命令是向指定的列表类型键中增加一个元素,如果不存在则创建。后面详解。

读取键值

get key
根据键获取其值。

127.0.0.1:6379> get fo
(nil)
127.0.0.1:6379> get foo
"banana"
127.0.0.1:6379>
AI 代码解读

不存在的时候返回nil.

递增数字

INCR key

增加指定的整数

INCRBY key increment
incrby和incr命令效果差不多,区别是incrby可以指定增加的数字

127.0.0.1:6379> incrby bar 2
(integer) 2
127.0.0.1:6379> incrby bar 5
(integer) 7
127.0.0.1:6379> incr bar
(integer) 8
127.0.0.1:6379> incr bar
(integer) 9
127.0.0.1:6379>
AI 代码解读

增加指定的浮点数

incrbyfloat key inrement
这个命令类似上面两个只不过是可以传递一个浮点数而已

127.0.0.1:6379> incrbyfloat bar 3.14
"12.140000000000001"
127.0.0.1:6379> incrbyfloat bar 3.14e+9
"3140000012.1399999"
127.0.0.1:6379>
AI 代码解读

减少指定的整数

有增加就有减少
decr和decrby和增加的用法一样,只不过是键值递减。
decrby key 4相当于incrbu key -4

向尾部追加值

向键值的末尾加字符串,如果不存在就是相当于set key value

127.0.0.1:6379> append bar "345"
(integer) 21
127.0.0.1:6379> get bar
"3140000012.1399999345"
127.0.0.1:6379>
127.0.0.1:6379> append asd "hello dj"
(integer) 8
127.0.0.1:6379> get asd
"hello dj"
127.0.0.1:6379>
AI 代码解读

获取字符串长度

STRLEN key
返回键值长度,不存在返回0.

127.0.0.1:6379> set key "￀￷ᄎᆭ"OK
127.0.0.1:6379> strlen key
(integer) 4
127.0.0.1:6379> set key "ᅣ ̄채"OK
127.0.0.1:6379> strlen key
(integer) 4
127.0.0.1:6379>
AI 代码解读

同时设置多个键值

Mget key/mset key value
mget/mset和get/set相似,前者可以获取/设置多个值。

(integer) 4
127.0.0.1:6379> mget bar foo
1"3140000012.1399999345"
2"banana"
127.0.0.1:6379> mset a 1 b 2OK
127.0.0.1:6379>
AI 代码解读

位操作

getbit key offset
setbit key offset value
bitcount key [start][end]
bitop operation destkey key [key ….]
一个字节由8个二进制位组成,redis提供了以上四个命令可以直接对二进制进行操作。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
cxa
+关注
目录
打赏
0
0
0
0
780
分享
相关文章
在 Ubuntu 20.04 上安装和配置 Redis
在 Ubuntu 20.04 上安装和配置 Redis 的步骤如下:首先更新系统包,然后通过 `apt` 安装 Redis。安装后,启用并启动 Redis 服务,检查其运行状态。可选配置包括修改绑定 IP、端口等,并确保防火墙设置允许外部访问。最后,使用 `redis-cli` 测试 Redis 功能,如设置和获取键值对。
34 1
|
13天前
|
微服务——SpringBoot使用归纳——Spring Boot 中集成Redis——Redis 安装
本教程介绍在 VMware 虚拟机(CentOS 7)或阿里云服务器中安装 Redis 的过程,包括安装 gcc 编译环境、下载 Redis(官网或 wget)、解压安装、修改配置文件(如 bind、daemonize、requirepass 等设置)、启动 Redis 服务及测试客户端连接。通过 set 和 get 命令验证安装是否成功。适用于初学者快速上手 Redis 部署。
20 0
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
159 14
docker高级篇(大厂进阶):安装redis集群
docker高级篇(大厂进阶):安装redis集群
287 24
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
179 7
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
283 7
Redis 简介
10月更文挑战第14天
176 58
|
5月前
|
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
217 4
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
本文介绍了Redis的两个可视化管理工具:付费的Redis Desktop Manager和免费的Another Redis DeskTop Manager,包括它们的下载、安装和使用方法,以及在使用Another Redis DeskTop Manager连接Redis时可能遇到的问题和解决方案。
231 1
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]

热门文章

最新文章