Redis 基本数据类型和使用

Redis是一个开源的、内存数据结构存储中间件,可以用作数据库,缓存,和消息代理。

不是普通的key-value存储,Redis支持strings字符串,hashes字典, lists列表,sets集合,sorted sets有序集合等数据结构,

还提供范围查找,bitmaps位图,HyperLogLog,geospatial 地理空间索引,和流。

Redis支持同步,Lua脚本, LRU淘汰策略,事务,数据持久化,通过Sentinel哨兵模式和Cluster集群自动分片存储实现高可用性和扩展性。Redis基于内存,减少磁盘I/O性能造成的瓶颈,使用单线程,减少串行控制的开销,比Memcache速度快,支持更多数据类型和数据的持久化。主要用于小数据量的高性能的操作和运算,有很多的应用场景。

Redis key值不宜过长,因为key比较和查找会耗费更多,也不宜过短,命名最好有好的可读性,例如使用.或者-拼接起多个单词作为一个key值,如user:12345:buy-book,key最大512MB。

 

1、Strings 字符串

将字符串作为value,不能超过512MB,可以缓存页面,序列化后的对象。

set key value 支持set赋值操作,key存在的情况下,重新赋值,也可以在set key value后加额外的参数nx,或者xx,可以实现只有在不存在,或者存在key的情况下进行set赋值操作,

还可以进行incr,incrby,decr,decrby原子增加/减少的操作,也就是读-增加/减少-写是一个整体的操作,实现计数器功能

 

2、Lists 列表

Redis 列表为一组有序元素,底层实现为Linked List链表,往列表里添加元素的速度很快。

lpush key value1 在队首添加元素,rpush key value2队尾添加元素;

lrange key 0 -1找出指定索引位置的列表元素,lpop key, rpop key从队首,队尾删除一个元素;

ltrim key 0 9,只保留10个元素,其他的删除掉;

可以存储社交网站上用户最新发布的动态,帖子,博客等,提升网站的访问速度;将列表元素限定在指定长度;

也可以用做两个进程通信,例如消息队列的生产和消费,lpush key 和brpop key n结合使用。

当删除最后一个元素时,列表也删除了。

 

3、Hashes 字典

方便存储对象信息,并且对象的属性个数没有实际限制。

hmset user:123 name Alice address Beijing, 往key中添加多个字段

hget user:123 name,从key中提取name字段

hmget user:123  name address,读取name,address两个字段

 

4、Sets 集合

表示一组无序不重复的元素的集合

sadd key Alice, Blair, Cindy, David ,往集合里添加元素

smembers key ,列出集合中的所有元素

sismember key value,判断是否是集合中的元素

scard key,集合元素个数

 

5、Sorted sets 有序集合

为一组不重复的元素的集合,类似set,只是添加元素的时候,需要同时添加一个浮点型的数值,代表该元素的score,实现有序,

当两个元素的score相同时,根据元素字母顺序的先后判断两个元素的大小。可以实现排行榜。

zadd,zrange,zrevrange,zrangebyscore,zremrangebyscore, zrank, zrevrank

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Redis中,常用的基本数据类型包括字符串(string)、哈希(hash)、列表(list)、集合(set)和有序集合(sorted set)。Redis本身是一个Map,所有数据都采用key:value的形式存储,而key永远是字符串类型。对于字符串类型,value可以是字符串、整型或浮点型,Redis能够自动识别。除了字符串类型,还有哈希类型,可以存储键值对的集合,对于哈希类型的操作,可以使用HSET、HGET等命令。此外,还有列表类型,用于存储有序的字符串列表,可以使用LPUSH、RPUSH等命令进行操作;集合类型,用于存储不重复的字符串集合,可以使用SADD、SREM等命令进行操作;有序集合类型,用于存储带有权重的有序字符串集合,可以使用ZADD、ZRANGE等命令进行操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Redis的五种常用数据类型的基本使用](https://blog.csdn.net/weixin_43795939/article/details/107815058)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Redis五大基础数据类型的操作](https://blog.csdn.net/weixin_44183721/article/details/126116049)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值