Redis的五种数据类型

Redis是一个非常快速的非关系数据库解决方案。其简单的键值数据模型使Redis能够处理大型数据集,同时保持令人印象深刻的读写速度和可用性。

1,string

字符串类型是Redis中最基本的数据存储类型,它是一个由字节数组组成的序列,在Redis中是数据安全的。这意味这该类型可已接收任何格式数据,如jpeg,json。它是标准的key-value,通常用于存储字符串、整数和浮点。Value可容纳高达512MB的数据。

 由于所有数据都在单个对象中,Redis的字符串操作速度非常快,基本的Redis命令(如set/get/del)允许您对字符串执行基本操作。

set 键值 -设置指定的键的值

get键值-获取指定的键的值

del键-删除给定的键的值

应用场景:非常常见的长江用于计算站点访问量、当前在线人数等。

2.hash

Redis hash是一个键值对组合。Redis hash是一个string类型的field和value的映射表,hash特别适用于存储对象。Redis的hash结构可以使你像在数据库中update一个属性一样只修改某一项属性的值。和string略像,但value中存放的是一张表,一般用于多个个体的详细事项排列,string可以做到,但略麻烦

hset -将值映射到hash中的键

hget- 检索与hash中的键关联的各个值

hgetall-显示整个hash内容

hdel -从hash中删除现有的键值对

应用程序方案:存储部分更改数据,如用户信息,回话共享

3.list

Redis列表是简单的字符串列表,按照插入的顺序,你可以添加一个元素到列表的头部(左边)或者尾部(右边)。Redis列表允许用户从序列的两端推入或弹出元素,列表由多个字符串值组成的有序可重复的序列,是链表结构,所以从列表两端添加元素的时间复杂度是o(1),获取越接近两端的元素的速度就越快,这意味着,即使有数以千万计的元素列表,也可以极快的获取n条数据在头部或者尾部。可列入名单的要素最多只有4294967295个。

此字符串链表允许您执行一组操作,例如:

lpush -将值推送到列表的左端

rpush-将值推送到列表的右端

lpop-将列表左端的元素弹出

rpop-将列表右端的数据弹出

lindex-从列表总的特定位置获取值

应用场景:最新消息排行榜;消息队列,以完成多程序之间的消息交换

4.set

Redis的set是string类型的无序集合。集合通过hash表实现的,所以添加,删除,查找的复杂度都是o(1).所谓集合就是一堆不重复值的组合,并且是没有顺序的。在微博应用中,可以将一个用户的所有关注人存在一个集合中,将其所有粉丝存在一个集合中。Redis还提供了而诸如collection,union和differences等操作,使得实现诸如commandism,poperhike,secondfriends这样的功能变的很容易,或者选择是将结果返回给客户机,还是将他们保存到使用不同命令的新的集合中。

sadd-向集合中添加一个或多个项目

sismember-找出一个项目是否是集合的一部分

smenbers-从集合中检索所有的项目

srem-从集合中删除现有项

5.sorted set 

sorted set也叫Redis zset ,和set 一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。

您可以按成员、排序顺序和分数值访问排序集中的项目。基本命令允许您根据成员值和分数范围提取、添加、删除单个值或检索项目。‎

  • ‎ZADD‎‎ ‎‎– 将具有分数的成员添加到排序集。‎
  • ‎ZRANGE‎‎ ‎‎– 根据项目在排序顺序中的位置检索项目。‎‎withscores‎‎ ‎‎选项生成实际分数值。‎
  • ‎ZRANGEBYSCORE ‎‎– 根据定义的分数范围从排序集中提取项目。‎‎withscores‎‎ ‎‎选项生成实际分数值。‎
  • ‎ZREM‎‎ –‎‎从已排序的集中删除项目。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值