redis 客户端连接及常用命令使用[通俗易懂]

2022-08-25 17:18:58 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

一、本地客户端连接

代码语言:javascript复制
[root@localhost redis]# bin/redis-cli 
127.0.0.1:6379> auth root
OK

显示"ok"表示连接成功

常用命令操作

redis的数据结构:

redis存储的是:key,value格式的数据,其中key都是字符串,value有5种不同的数据结构

value的数据结构:

  1. 字符串类型 string
  2. 哈希类型 hash : map格式
  3. 列表类型 list : linkedlist格式。支持重复元素
  4. 集合类型 set : 不允许重复元素
  5. 有序集合类型 sortedset:不允许重复元素,且元素有顺序
  6. 流类型 stream:5.0 版本新增加的数据结构。主要用于消息队列(MQ,Message Queue)

字符串类型 string

string 是 redis 最基本的类型,一个 key 对应一个 value。 string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象。 string 类型是 Redis 最基本的数据类型,string 类型的值最大能存储 512MB。 常用命令:set、get、decr、incr、mget等。 注意:一个键最大能存储512MB。

  • 存储: set key value
代码语言:javascript复制
127.0.0.1:6379> set username zhangsan
OK
  • 获取: get key
代码语言:javascript复制
127.0.0.1:6379> get username
"zhangsan"
  • 删除: del key
代码语言:javascript复制
127.0.0.1:6379> del age
(integer) 1

哈希类型 hash

Redis hash 是一个键值(key=>value)对集合;是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。 每个 hash 可以存储 232 -1 键值对(40多亿)。 常用命令:hget、hset、hgetall等。 应用场景:存储一些结构化的数据,比如用户的昵称、年龄、性别、积分等,存储一个用户信息对象数据。

列表类型 list

Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。 list类型经常会被用于消息队列的服务,以完成多程序之间的消息交换。 常用命令:lpush、rpush、lpop、rpop、lrange等。 列表最多可存储 232 – 1 元素 (4294967295, 每个列表可存储40多亿)。

集合类型 set

Redis的Set是string类型的无序集合。和列表一样,在执行插入和删除和判断是否存在某元素时,效率是很高的。集合最大的优势在于可以进行交集并集差集操作。Set可包含的最大元素数量是4294967295。 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。

有序集合类型sorted set(zset)

Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。 不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。 zset的成员是唯一的,但分数(score)却可以重复。 sorted set是插入有序的,即自动排序。(升序) 常用命令:zadd、zrange、zrem、zcard等。 当你需要一个有序的并且不重复的集合列表时,那么可以选择sorted set数据结构。

流类型 stream

Redis的作者在Redis5.0中,放出一个新的数据结构,Stream。Redis Stream 的内部,其实也是一个队列,每一个不同的key,对应的是不同的队列,每个队列的元素,也就是消息,都有一个msgid,并且需要保证msgid是严格递增的。在Stream当中,消息是默认持久化的,即便是Redis重启,也能够读取到消息。那么,stream是如何做到多播的呢?其实非常的简单,与其他队列系统相似,Redis对不同的消费者,也有消费者Group这样的概念,不同的消费组,可以消费同一个消息,对于不同的消费组,都维护一个Idx下标,表示这一个消费群组消费到了哪里,每次进行消费,都会更新一下这个下标,往后面一位进行偏移。

通用命令

keys * : 查询所有的键 type key : 获取键对应的value的类型 del key:删除指定的key value select :切换数据库 flushdb :清除当前数据库 flushall : 清除全部数据库内容

二、连接远程的redis

远程客户端工具(RedisDesktopManager)使用

百度网盘下载链接:https://pan.baidu.com/s/1EC9GoYGzYysRVm-8IagfHA 提取码:cyfh

注意:需要开启防火墙端口号

代码语言:javascript复制
[root@localhost /]# firewall-cmd --zone=public --add-port=6379/tcp --permanent
success
[root@localhost /]# systemctl restart firewalld
[root@localhost /]# firewall-cmd --zone=public --list-ports
6379/tcp

连接成功,redis默认有16个数据库

在配置文件(redis.conf)中,找到属性databases可以查看或修改默认值

测试使用

添加 key value

点击可直接查看

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/143108.html原文链接:https://javaforall.cn

0 人点赞