大家好,又见面了,我是你们的朋友全栈君。
一、本地客户端连接
代码语言:javascript复制[root@localhost redis]# bin/redis-cli
127.0.0.1:6379> auth root
OK
显示"ok"
表示连接成功
常用命令操作
redis的数据结构:
redis存储的是:key,value格式的数据,其中key都是字符串,value有5种不同的数据结构
value的数据结构:
- 字符串类型 string
- 哈希类型 hash : map格式
- 列表类型 list : linkedlist格式。支持重复元素
- 集合类型 set : 不允许重复元素
- 有序集合类型 sortedset:不允许重复元素,且元素有顺序
- 流类型 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
127.0.0.1:6379> set username zhangsan
OK
- 获取: get key
127.0.0.1:6379> get username
"zhangsan"
- 删除: del key
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