Redis知识汇总一篇涵盖万字的总结(万字总结redis知识点)
Redis是开源、运行内存、支持秒级数据库,拥有多种数据结构并为其实现了丰富的操作命令,具有非常高的性能,可用于缓存、消息中间件、分析、搜索等场景。
Redis的数据类型:
Redis支持多种数据类型,包括字符串(String)、哈希(Hash)、列表(List)、集合(Set)、有序集合(Sorted Set)等共六种数据结构。
1.字符串(String):Redis的String类型可以存储任何类型的字节数组,支持字符串操作,比如下图所示:
> set key value
OK
> get key
value
2.哈希(Hash):Redis的Hash类型为多和键值对模式,例如:
> hmset key_name field1 value1 field2 value2
OK
> hmget key_name field1 field2
1) value1
2) value2
3.列表(List):Redis的List类型可以像数组一样,存储一系列字符串,可以支持任意位置的插入和删除,例如:
> lpush LIST_NAME item1 item2
2
> lrange LIST_NAME 0 -1
1) item2
2) item1
4.集合(Set):Redis的Set类型是存储一组不同的字符串,支持并集,交集、差集的运算,例如:
> sadd Set_Name A B C
3
>smembers Set_Name
1) A
2) B
3) C
5.有序集合(Sorted Set):Redis的Sorted Set类型也是存储一组不同的字符串,并且每个元素都关联一个浮点型的分数,使用zrank、zrevrank等命令可以获取有序列表排名,例如:
> zadd Sorted_Set_Name 1 A
1
>zadd Sorted_Set_Name 2 B
1
>zrank Sorted_Set_Name A
0
Redis支持的操作命令:
Redis提供了一组丰富的命令用于对各种复杂数据结构进行操作,例如SET、GET、HSET、HGET、LPUSH、ZADD等操作命令可以帮助开发者快速实现相关的数据操作。
Redis的连接方式:
Redis可以支持本地连接和网络连接,其中本地连接使用Unix Socket方式实现,可以实现更快的读写速度,支持Linux和MacOS系统;而网络连接则使用TCP/IP方式实现,可以实现跨网络的通信,支持Windows、Linux和MacOS系统,下面是使用Node.js创建Redis连接的示例:
const Redis = require('redis');
// 创建本地连接 const client_local = Redis.createClient("/tmp/redis.sock");
// 创建网络连接 const hostname="127.0.0.1";
const port="6379";const client_network = Redis.createClient(hostname, port);
Redis的安全性:
Redis默认情况下是不支持密码登录的,开发者可以通过配置requirepass参数,来设置redis的密码验证;或者在防火墙中配置,将只允许指定的IP地址进行访问,其他IP地址均不可进行访问。
Redis的优势:
Redis具有读写性能高、支持秒级存储、支持多种数据结构、支持分布式部署等优点,可以用于缓存、消息中间件、分析、搜索等场景,大大提升了应用的性能。
本文就是简要介绍了Redis的相关知识,包括介绍了Redis的数据类型、操作命令、连接方式、安全性以及Redis的优势等,希望能对读者有所帮助。