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各种数据类型的应用场景的更多相关文章

  1. Redis各种数据类型的使用场景

    Redis的六种特性 l Strings l Hashs l Lists l Sets l Sorted Sets l Pub/Sub Redis各特性的应用场景 Strings Strings 数据 ...

  2. 一文搞定Redis五大数据类型及应用场景

    本文学习知识点 redis五大数据类型数据类型:string.hash.list.set.sorted_set 五大类型各自的应用场景 @TOC 1. string类型 1-1 string类型数据的 ...

  3. Redis的数据类型及使用场景

    1.redis 的数据类型 String 字符串 Hash 哈希 List 列表 Set 集合 ZSet(Sorted Set) 有序集合 2.使用场景 2.1 String 用户token 可以用r ...

  4. Redis各个数据类型的使用场景

    Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). Redis列表命令 参考:http://www.r ...

  5. redis的数据类型与应用场景(二)

    1. 如何学习 redis有好多数据类型,有这么多数据类型,我们不可能每个都记得完完全全.但是我们必须知道它有哪些数据类型,每个数据类型是怎样的,有什么作用.redis的每一个数据类型都有一大堆命令, ...

  6. Redis系列之----Redis的数据类型及使用场景

       Redis是一个开源的.高性能的.基于键值对的缓存与存储系统,能够提供多种不同的键值数据类型来适应不同场景下的缓存和存储需求.    Redis中所有的数据都存储在内存中,因此读写速度非常快,相 ...

  7. Redis常用数据类型及使用场景

    Redis最为常用的数据类型 字符串(String) 字符串列表(list) 字符串集合(set) 哈希(hash) 有序的字符串集合(sorted set) String(字符串) 字符串是最基本的 ...

  8. Redis的数据类型以及应用场景

    1. Redis的作用 1.1 Redis可以做什么 1.缓存:缓存机制几乎在所有的大型网站都有使用,合理地使用缓存不仅可以加快数据的访问速度,而且能够有效地降低后端数据源的压力.Redis提供了键值 ...

  9. Redis多种数据类型以及使用场景

    SDS简单动态字符串 struct sdshdr { // 记录buf数组中已使用字节的数量 // 等于SDS所保存字符串的长度 int len; // 记录buf数组中未使用字节的数量 int fr ...

随机推荐

  1. 基于WebGL架构的3D可视化平台—设备管理

    ---恢复内容开始--- 国内高层建筑不断兴建,它的特点是高度高.层数多.体量大.面积可达几万平方米到几十万平方米.这些建筑都是一个个庞然大物,高高的耸立在地面上,这是它的外观,而随之带来的内部的建筑 ...

  2. MFC列表控件更改一行的字体颜色

    参考自(http://blog.csdn.net/ribut9225/article/details/6720639) 1.首先从CListCtrl 继承一个类,命名为CListCtrlCl 在头文件 ...

  3. python测试开发django-1.开始hello world!

    前言 当你想走上测试开发之路,用python开发出一个web页面的时候,需要找一个支持python语言的web框架.django框架有丰富的文档和学习资料,也是非常成熟的web开发框架,想学pytho ...

  4. Servlet第三篇(response;request)

    response对象 Tomcat收到客户端的http请求,会针对每一次请求,分别创建一个代表请求的request对象.和代表响应的response对象 那么我们获取浏览器提交过来的数据,找reque ...

  5. Golang学习---常用库

    1. 路由库:github.com/julienschmidt/httprouter 2. mysql驱动:github.com/go-sql-driver/mysql

  6. Centos6安装和配置etcd3

    etcd 是一个高可用的 Key/Value 存储系统,主要用于分享配置和服务发现.etcd 的灵感来自于 ZooKeeper 和 Doozer,侧重于: 简单:支持 curl 方式的用户 API ( ...

  7. Jmeter启动默认中文

    打开Jmeter的安装目录,然后在bin目录下查找jmeter.properties  这个文件 打开文件,找到   #language=en   并改为  language=zh_CN     ,注 ...

  8. pwnable.kr-leg-witeup

    做过后其实知道,是很简单的一段代码,也很容易看懂,看懂后计算key1.key2.key3之和即可. main 汇编: 嗯,看来keyx的返回值是r0了,详细分析r0值. key1: 在arm状态下,r ...

  9. pythone函数基础(11)读,写,修改EXCEL

    #读EXCEL需要导入xlrd模块---在python控制台pip install xlrd模块import xlrdbook = xlrd.open_workbook('stu3.xls')shee ...

  10. linux一台服务器配置多个Tomcat

    前提:linux服务器上已经运行多个Tomcat,再去搭建一个Tomcat服务 1.官网下载Tomcat 2.上传到服务器指定一个目录/usr/local/tomcat 3.然后解压tar包,tar ...