精通Redis系列|Redis基本知识汇总

318 阅读4分钟

这是我参与8月更文挑战的第8天,活动详情查看:8月更文挑战

Redis客户端

Redis客户端是一个程序,通过网络连接到Redis服务器,从而实现跟 Redis服务器的交互。

Redis客户端发送命令,同时显示Redis服务器的处理结果。

redis-cli(Redis Command Line Interface)是Redis自带的基于命令行的Redis客户端,用于与服务端交互,我们可以使用该客户端来执行redis的各种命令。

  1. 启动Redis客户端:
  1. 直接连接redis (默认ip127.0.0.1,端口6379):redis-cli

在任意目录执行  redis-cli

此命令是连接本机127.0.0.1 ,端口6379的redis

image.png

2)指定IP和端口连接redis:redis-cli –h 127.0.0.1 -p 6379

-h redis主机IP(可以指定任意的redis服务器)

-p端口号(不同的端口表示不同的redis应用)

在任意目录下执行  redis-cli -h 127.0.0.1 -p 6379

image.png

  1. 退出Redis客户端:exit或者quit指令。

image.png

Redis基本知识

1) 测试Redis性能

image.png

image.png

2)Redis沟通命令,查看状态

redis >ping 返回PONG

解释:输入ping,redis给我们返回PONG,表示redis服务运行正常

image.png

3) 查看redis服务器的统计信息:info

语法:info [section]

作用:以一种易于解释且易于阅读的格式,返回关于 Redis 服务器的各种信息和统计数值。section 用来返回指定部分的统计信息。 section的值:server , clients ,memory等等。不加section 返回全部统计信息

返回值:指定section的统计信息或全部信息

例1:统计server的信息

image.png

例2:统计全部信息

image.png

4)redis默认使用16个库

Redis默认使用16个库,从0到15。 对数据库个数的修改,在redis.conf文件中databases 16,理论上可以配置无限多个。

image.png

Redis的库和关系型数据库中的数据库实例类似,但又有一些不同,比如redis中各个库不能自定义命名,只能用序号表示,redis中各个库不是完全独立的,使用时最好一个应用使用一个redis实例,不建议一个redis实例中保存多个应用的数据。Redis实例本身所占存储空间其实是非常小的,因此不会造成存储空间的浪费。

5)切换库命令:select db

默认使用第0个,如果要使用其他数据库,命令是 select index

image.png

6)查看当前数据库中key的数目:dbsize

语法:dbsize

作用:返回当前数据库的 key 的数量。

返回值:数字,key的数量

image.png

7)查看当前数据库中有哪些key:keys *

image.png

8)清空当前库:flushdb

image.png

9)清空所有数据库:flushall

image.png

这也体现出redis中的库并不是完全无关的。

10)config get * 获得redis的所有配置值

语法:config get parameter

作用:获取运行中Redis服务器的配置参数, 获取全部配置可以使用*。参数信息来自redis.conf 文件的内容。

例1:获取数据库个数 config get databases

image.png

例2:获取端口号config get port

image.png

手册地址:

redis英文版命令大全:redis.io/commands

redis中文版命令大全:redisdoc.com/    

Redis的5种数据结构

A、字符串类型 string

字符串类型是Redis中最基本的数据结构,它能存储任何类型的数据,包括二进制数据,序列化后的数据JSON化的对象甚至是一张图片。最大512M。

image.png

B、列表类型 list

Redis列表是简单的字符串列表,按照插入顺序排序,元素可以重复。你可以添加一个元素到列表的头部(左边)或者尾部(右边),底层是个链表结构。

image.png

C、集合类型 set

Redis的Set是string类型的无序无重复集合。

image.png

D、哈希类型 hash

Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。

image.png

E、有序集合类型 zset (sorted set)

Redis 有序集合zset和集合set一样也是string类型元素的集合,且不允许重复的成员。

不同的是zset的每个元素都会关联一个分数(分数可以重复),redis通过分数来为集合中的成员进行从小到大的排序。

image.png