Redis各种数据类型的应用场景
redis是一种key values形式的非关系型数据库,通过内存存储,也可以把数据持久化到本地文件中。
redis支持丰富的数据类型,String,list,set,zset,hash,下面说一下各种数据类型的应用场景。
String:
string 类型进行数据存储的时候主要有get,set,incr(increase加一递增),decr(decrease减一递减)等操作。incr等指令本身具有原子操作,所以我们可以利用redis的incr,incrby,decr,decrby来实现原子计数操作。例如:在某场景下面有三个用户同事访问,然后对其进行加一操作,那么最后的值一定会加三。可以利用这一特性来实现业务上的统计数据的需求。
Llists:
redis的list底层不是数组,而是链表。lists常用的操作有lpush(左边插入),rpush(右边插入),lrange(取数据,lranger key 开始下标 结束下标)。每往lists中插入一条数据,这条数据将作为下标为0的数据。栈后进先出的那种形式。
例如:我们可以利用list来实现一个消息队列,而且可以确保先后顺序,可以利用lrange来实现分页功能。在博客系统中,每篇博文的评论都可以放在单独一个list中。
set:
reids的集合,是一种无序的集合,集合中的元素没有先后顺序。
集合中相关的操作也很丰富,如添加元素,删除已有元素,取交集,取并集,取差集。
例如:QQ有一个社交功能叫“好友标签”,大家可以给你的好友贴标签,这时候就可以用redis集合来实现,把用户的每个集合存在一个集合中。
如果要查看共同好友,也可以把好友存在集合中,比较交集。
zset:
redis的有序集合,每个集合都提供了一个序号,赭石排序的依据。
例如:暂无。
hash:
hashes存的是字符串和字符串之间的映射,比如一个用户要存储其全名,姓氏,年龄等,就适合用hash。hash比较像map。
Redis各种数据类型的应用场景的更多相关文章
- Redis各种数据类型的使用场景
Redis的六种特性 l Strings l Hashs l Lists l Sets l Sorted Sets l Pub/Sub Redis各特性的应用场景 Strings Strings 数据 ...
- 一文搞定Redis五大数据类型及应用场景
本文学习知识点 redis五大数据类型数据类型:string.hash.list.set.sorted_set 五大类型各自的应用场景 @TOC 1. string类型 1-1 string类型数据的 ...
- Redis的数据类型及使用场景
1.redis 的数据类型 String 字符串 Hash 哈希 List 列表 Set 集合 ZSet(Sorted Set) 有序集合 2.使用场景 2.1 String 用户token 可以用r ...
- Redis各个数据类型的使用场景
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). Redis列表命令 参考:http://www.r ...
- redis的数据类型与应用场景(二)
1. 如何学习 redis有好多数据类型,有这么多数据类型,我们不可能每个都记得完完全全.但是我们必须知道它有哪些数据类型,每个数据类型是怎样的,有什么作用.redis的每一个数据类型都有一大堆命令, ...
- Redis系列之----Redis的数据类型及使用场景
Redis是一个开源的.高性能的.基于键值对的缓存与存储系统,能够提供多种不同的键值数据类型来适应不同场景下的缓存和存储需求. Redis中所有的数据都存储在内存中,因此读写速度非常快,相 ...
- Redis常用数据类型及使用场景
Redis最为常用的数据类型 字符串(String) 字符串列表(list) 字符串集合(set) 哈希(hash) 有序的字符串集合(sorted set) String(字符串) 字符串是最基本的 ...
- Redis的数据类型以及应用场景
1. Redis的作用 1.1 Redis可以做什么 1.缓存:缓存机制几乎在所有的大型网站都有使用,合理地使用缓存不仅可以加快数据的访问速度,而且能够有效地降低后端数据源的压力.Redis提供了键值 ...
- Redis多种数据类型以及使用场景
SDS简单动态字符串 struct sdshdr { // 记录buf数组中已使用字节的数量 // 等于SDS所保存字符串的长度 int len; // 记录buf数组中未使用字节的数量 int fr ...
随机推荐
- Echars 地图属性详解
1.引入echarts库文件 <script charset="utf-8" type="text/javascript" language=" ...
- SpringBoot之SOAP WebService
SpringBoot的Web Service类型常见有RESTful Web Service和SOAP Web Service两种,RESTful风格的web服务比较常用,但实际工作中仍有部分场景用到 ...
- CancellationTokenSource 和 CancellationToken 取消线程
Main 程序[分别调用三个方法] static void Main(string[] args) { using (CancellationTokenSource cts = new Cancell ...
- phpstorm中open in browser端口和路径设置
phpstorm默认的端口号是:63342但是我装的apache服务器的默认端口是80网上查找资料,都说可以加listen的端口,比如这里 #Listen 12.34.56.78:80Listen 8 ...
- 解决SpringMVC拦截器中Request数据只能读取一次的问题
解决SpringMVC拦截器中Request数据只能读取一次的问题 开发项目中,经常会直接在request中取数据,如Json数据,也经常用到@RequestBody注解,也可以直接通过request ...
- pl/sql报错快速解决方法(新手推荐)
一:简介 今天登录数据库时莫名报了个奇怪的错:ORA-01033: ORACLE initialization or shutdown in progress可能是昨天匆忙电脑没正常关机导致的... ...
- spring boot 1.x配置,不断完善中
spring boot是典型的约定大于配置,那么很有必要对在开发过程中这些配置做统一的添加记录,以免用到的时候到处搜索,网上的东西又良莠不齐. server.port=8880 微服务注册中心,yml ...
- Tomcat 配置MySQL连接池
<!--配置mysql数据库的连接池, 需要做的额外步骤是将mysql的Java驱动类放到tomcat的lib目录下 maxIdle 连接池中最多可 ...
- DDB---查询与优化
摘要:分布式数据库(Distributed DB)是数据库中非常重要的一个部分,随着要处理的数据越来越多,分布式逐渐成为了一种策略.主要有:分布式操作系统,分布式程序设计语言,分布式文件系统,分布式数 ...
- iTerm2使用技巧
iTerm2实用技巧 搜索及文本复制 使用“cmd+f”可以调出搜索框进行文本搜索,然后有个很奇妙的快捷键“tab”键,使用它后会自动高亮当前文本后面的内容.最后按enter键将高亮文本复制到剪切板上 ...