redis支持的数据类型有哪些 redis支持的5种类型

Redis的五种数据结构如下:对于redis,所有的键都是字符串。1.字符串字符串类型是redis中最基本的数据类型,一个键对应一个值。字符串类型是二进制安全的,这意味着redis的字符串可以包含任何数据。如数字、字符串、jpg图片或序列化对象。使用:get、set、del、incr、decr等。1...

Redis的五种数据结构如下:

对于redis,所有的键都是字符串。

1.字符串字符串类型

是redis中最基本的数据类型,一个键对应一个值。

字符串类型是二进制安全的,这意味着redis的字符串可以包含任何数据。如数字、字符串、jpg图片或序列化对象。

使用:get、set、del、incr、decr等。

127.0.0.1:6379>set hello worldOK127.0.0.1:6379>get hello"world"127.0.0.1:6379>del hello(integer) 1127.0.0.1:6379>get hello(nil)127.0.0.1:6379>get counter"2"127.0.0.1:6379>incr counter(integer) 3127.0.0.1:6379>get counter"3"127.0.0.1:6379>incrby counter 100(integer) 103127.0.0.1:6379>get counter"103"127.0.0.1:6379>decr counter(integer) 102127.0.0.1:6379>get counter"102"

实战场景:

1.缓存:在经典的使用场景下,常见的信息、字符串、图片或视频放入redis,redis作为缓存层,mysql作为持久层,减轻mysql的读写压力。

2.反驳:redis是单线程模型。执行完一个命令后,将执行下一个命令。同时,数据可以一步落地到其他数据源。

3.session:常用方案spring session+redis实现会话共享,

2.哈希(哈希)

是Map***p,也就是说值本身是一个键值对结构,比如value={{field1,value1},……fieldN,valueN}}

使用:所有hash命令都是hget,hset,hdel等。以h开头的。

127.0.0.1:6379>hset user name1 hao(integer) 1127.0.0.1:6379>hset user e***il1 hao@163.com(integer) 1127.0.0.1:6379>hgetall user1) "name1"2) "hao"3) "e***il1"4) "hao@163.com"127.0.0.1:6379>hget user user(nil)127.0.0.1:6379>hget user name1"hao"127.0.0.1:6379>hset user name2 xiaohao(integer) 1127.0.0.1:6379>hset user e***il2 xiaohao@163.com(integer) 1127.0.0.1:6379>hgetall user1) "name1"2) "hao"3) "e***il1"4) "hao@163.com"5) "name2"6) "xiaohao"7) "e***il2"8) "xiaohao@163.com"

实战场景:

1.缓存:可以很直观,比string节省空时间,可以维护缓存的信息,比如用户信息,视频信息等。

3.链表

说白了,List就是一个链表(redis用双头链表实现的List)。它是有序的,值可以重复。对应的值可以通过下标取出,两边都可以插入和删除数据。

使用列表的技巧

lpush+lpop=Stack(栈)lpush+rpop=Queue(队列)lpush+ltrim=Capped Collection(有限***)lpush+brpop=Message Queue(消息队列)

使用:

127.0.0.1:6379>lpush mylist 1 2 ll ls mem(integer) 5127.0.0.1:6379>lrange mylist 0 -11) "mem"2) "ls"3) "ll"4) "2"5) "1"127.0.0.1:6379>

实战场景:

1 .时间轴:比如微博的时间轴,有人发微博,在时间轴上加了lpush,显示新的列表信息。

4.******

类型也是用于存储多个字符串的元素,但与列表不同的是,1。***2中不允许有重复的元素。***中的元素顺序错误,无法通过索引下标3获取元素。支持***之间的运算,可以选择多个***获得交、并、差***。

用法:以S开头的命令有sset、srem、scard、***embers、si***ember..

127.0.0.1:6379>sadd myset hao hao1 xiaohao hao(integer) 3127.0.0.1:6379>SMEMBERS myset1) "xiaohao"2) "hao1"3) "hao"127.0.0.1:6379>SISMEMBER myset hao(integer) 1

实战场景;

1.标签,给用户添加标签,或者用户给消息添加标签,让有相同标签或者相似标签的人推荐关注的事情或者人。

2.喜欢,或者点击,收藏等。,可以放入***中实现。

5.zset有序集

有序集与***之间有着必然的联系,这种联系保持了***不能有重复成员的特征。不同的是,有序***中的元素是可以排序的,它为每个元素设置一个分数作为排序的依据。

(有序***中的元素不能重复,但是分数可以重复,就像一个班级的学号不能重复,但是***分数可以一样)。

命令使用:ordered set all以z zadd,zrange,zscore开始。

127.0.0.1:6379>zadd myscoreset 100 hao 90 xiaohao(integer) 2127.0.0.1:6379>ZRANGE myscoreset 0 -11) "xiaohao"2) "hao"127.0.0.1:6379>ZSCORE myscoreset hao"100"

实战场景:

1.排行榜:经典使用场景的有序***。比如小说视频等网站,需要对用户上传的小说视频进行排名。榜单可以根据用户的关注数量、更新时间、字数进行分级和排名。

本文来自抚琴绘长歌投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/650997.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 07-26
下一篇 07-26

相关推荐

  • redis支持的数据类型有哪些 redis支持的5种类型

    Redis的五种数据结构如下:对于redis,所有的键都是字符串。1.字符串字符串类型是redis中最基本的数据类型,一个键对应一个值。字符串类型是二进制安全的,这意味着redis的字符串可以包含任何数据。如数字、字符串、jpg图片或序列化对象。使用:get、set、del、incr、decr等。1

    2023-07-26 16:55:01
    269 0
  • redis依赖环境 redis启动指定配置文件

    【/s2/】案例一:【/s2/】某产品线开发者搭建了一个庞大的价格存储系统。底层是关系数据库,只用来处理一些事务性操作,存储一些基础数据。在关系数据库之上还有一套MongoDB。由于MongoDB的文档数据结构,这使得它们易于使用,并且还可以支持一定量的并发。大多数情况下,大量

    2023-07-07 21:12:01
    610 0
  • ubuntu安装redis教程 linux make命令

    最近项目要测试,我在阿里云服务上搭建了一些服务。这是redis的建筑。首先去官网下载redis的安装包。下载地址是:http://download.redis.io/releases/在安装redis数据库之前,需要安装依赖组件gcc和tcl。yum–y安装gcc tcl在/usr/local下创建一个新文件夹redis,并命令mkdir r

    2023-04-07 02:00:01
    297 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信