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
Redis 基本数据类型和使用相关推荐
- Redis的数据类型以及每种数据类型的使用场景
人就是很奇怪的动物,很简单的问题往往大家都容易忽略,当我们在使用分布式缓存Redis的时候,一个最简单的问题往往被人忽略,Redis的数据类型以及每种数据类型的使用场景是什么? 是不是觉得这个问题很基 ...
- redis数据类型_认识Redis与Redis的数据类型
本文作为Redis的入门教程,旨在让大家对Redis有一个概念性和整体性的认识,并且可以快速上手,为深入Redis打下基础. 文章概要: 1. Redis的介绍 2. Redis与其他数据库的对比 3 ...
- redis 读取mysql数据类型_认识Redis与Redis的数据类型
本文作为Redis的入门教程,旨在让大家对Redis有一个概念性和整体性的认识,并且可以快速上手,为深入Redis打下基础. 文章概要: 1. Redis的介绍 2. Redis与其他数据库的对比 3 ...
- 【Redis】14.Redis高级数据类型Bitmaps、HyperLogLog、GEO
[Redis]14.Redis高级数据类型Bitmaps.HyperLogLog.GEO Bitmaps:用比特位进行快速的状态统计 Bitmaps基本操作 Bitmaps不是一个新的数据类型,而是s ...
- redis常用数据类型的场景,你真的用对了么?
关注微信公众号"虾米聊吧",每天更新一篇技术文章,文章内容涵盖架构师成长必经之路应掌握的技术,一起学习,一起交流. redis常用数据类型的场景,你真的用对了么? redis常用数 ...
- note.. redis五大数据类型
redis 五大数据类型使用 nosql介绍,由来 什么是nosql 阿里巴巴的架构 nosql 四大分类 redis入门 概述 redis 安装 (docker) 基础的知识 redis五大数据类型 ...
- redis基本数据类型之String
redis基本数据类型之String redis一共分为5中基本数据类型:String,Hash,List,Set,ZSet String String类型是包含很多种类型的特殊类型,并且是二进制安全 ...
- Redis常见数据类型_Redis通用指令
Redis常见数据类型 redis本身就是一个Map结构, 所有数据都采用key:value的形式, redis中的数据类型指的是value的类型, key部分永远是字符串 string(类似Java ...
- Redis面试常问-- Redis常用数据类型
Redis常用数据类型 http://www.redis.cn/
- 【重难点】【Redis 01】为什么使用 Redis、Redis 的线程模型、Redis 的数据类型及其底层数据结构
[重难点][Redis 01]为什么使用 Redis.Redis 的线程模型.Redis 的数据类型及其底层数据结构 文章目录 [重难点][Redis 01]为什么使用 Redis.Redis 的线程 ...
最新文章
- ​两院院士评选“2021年中国/世界十大科技进展新闻”揭晓
- 如何编写无法维护的代码_编写可维护的前端代码
- 有趣、好玩、有料的网站收藏
- xp下安装redmine 2.4.3
- Android 6.0 动态权限申请
- matlab三位画图_matlab 3D绘图详解(示例代码)
- java obervable_设计模式--观察者模式初探和java Observable模式
- cookie里面用到的关键字_Java的理解角度-关键字篇
- 计算机的论文初稿要交什么,论文初稿
- 计算机主板电池拆卸,主板电池没电了会怎么样 电脑主板电池怎么拆换【详解】...
- matlab 密集,matlab – 全局和parfor
- DNS解析异常问题排查
- ASUS BIOS开启CPU虚拟化
- Laravel-Vue开发初探二:Inertia拾遗
- Programming C#.Classes and Objects.传递参数
- GCC NOT FOUNT
- EXTJS入门教程及其框架搭建
- android蓝牙传输文件到mysql_蓝牙opp文件发送过程剖析
- rabbitmq坑点与异常处理
- 程序人生 - 程序员学习新技术是要看书还是看视频?