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 ...
随机推荐
- FileStream说明
FileStream(String, FileMode) FileStream(String path, FileMode) 文件打开模式:(FileMode)包括6个枚举 Append:追加 ...
- ArcGIS 批量修改数据名称-arcgis案例实习教程
ArcGIS 批量修改数据名称-arcgis案例实习教程 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 功能:批量修改数据/文件名称 使用方法: 输入:文件夹(或者 ...
- [原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(四) -- 安装crowd 3.1.2
[原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(四) -- 安装crowd 3.1.2 本来已经安装完毕, 并使用Jira集成的OAuth账户管理, ...
- iframe刷新
<div title="基本信息" style="padding:2px; "> <iframe id="newsrc& ...
- python中的函数和变量
本节内容 函数的定义方法 函数功能 函数的返回值 函数的形参与实参 全局变量与局部变量 递归 函数的作用域 匿名函数lambda 函数式编程 常用内置函数 其他内置函数 函数 函数的定义方法 函数就相 ...
- Android 添加第三方jar包
1,拷贝jar包到项目的\app\libs文件夹下. 2,打开项目下的build.gradle(Module:app)文件,在“dependencies {}”中添加“compile files('l ...
- 报错:APP has stopped
由于在 /MyActivity/AndroidManifest.xml 中把activity的类名打错,而导致程序加载后即出错. 而输错启动程序的类名并不会引起报错,因此这个应该引起注意.
- R语言读取XML数据
- js 中格式化显示时间
function getMyDateTime(str){ var oDate = new Date(str), oYear = oDate.getFullYear(), oMonth = oDate. ...
- abap 常用TCODE
ABAP: 通过查询表TSTC或者TSTCT:SAP系统将所有的事务代码都存储在这个表中,包括字开发的Y*和Z* TCODE 事务代码功能描述 CG3Y 下载服务器上文件 CG3Z upload fi ...