[Redis]Redis的数据类型

存储String字符串,使用get,set命令,一个键最大存储512M

存储Hash哈希,使用HMSET和HGETALL命令,参数:键,值

例如:HMSET user:1 username taoshihan password taoshihan

HGETALL user:1

存储List列表,可以重复,使用命令lpush和lrange,lpush的参数:键,值1,值2…

例如:lpush infos taoshihan nan

lrange的参数:键,开始索引,结束索引

例如:lrange infos  0  -1 (-1是全部)

存储Set集合,不可以重复,使用命令sadd和smembers

sadd的参数:键,值1,值2…

例如:sadd users zhangsan li wangwu

smembers的参数:键

例如:smembers users

存储Zset有序集合,不可以重复,使用命令zadd和zrangebyscore

zadd的参数:键,分数 值1 分数2 值2…

例如:zadd members 1 zhangsan 2 li 3 wangwu

zrangebyscore的参数:键,开始索引,结束索引

例如:zrangebyscore users 0 1

知乎:redis的基本数据结构有哪些,都有什么应用?

李波:

简单说明如下

字符串(strings):存储整数(比如计数器)和字符串(废话。。),有些公司也用来存储json/pb等序列化数据,并不推荐,浪费内存

哈希表(hashes):存储配置,对象(比如用户、商品),优点是可以存取部分key,对于经常变化的或者部分key要求atom操作的适合

列表(lists):可以用来存最新用户动态,时间轴,优点是有序,缺点是元素可重复,不去重

集合(sets):无序,唯一,对于要求严格唯一性的可以使用

有序集合(sorted sets):集合的有序版,很好用,对于排名之类的复杂场景可以考虑

位图(bitmaps):这个不是新增的数据类型,只是可以把字符串类型按照单个位的形式进行操作,没有实际使用过。2016-03-03更新,网上很多人用bitmaps来做活跃用户统计和用户签到功能,性能比去数据库load高很多。

计数器(hyperloglogs,翻译待定):如名字,添加元素只记录元素个数,并不会存储元素本身,节省空间并且避免重复count,这个感觉直接用incr就可以实现

地理空间(geospatial indexes):用来做地理位置查询,比如两点之间的距离,一个点附近有多少元素,适合点比较固定的场景,或者只考虑当前位置的场景,像附近的人这种就不适合,一是需要考虑某段时间内的点,二是点经常更新,压力比较大

时间: 2024-10-21 06:09:36

[Redis]Redis的数据类型的相关文章

redis的五大数据类型以及与 key 关键字相关的常用操作命令

1.redis的五大数据类型: 先来看看redis官方网上文档 的介绍: 这里简单地说,就是redis不是一个普通的 key-value 存储,而是一个数据结构服务器,支持各种不同 类型的值,这意味着不仅仅是传统的键值对存储,它可以关联更多的复杂的数据结构. 简单地说一说它的数据结构: i: string(字符串) string是redis最基本的类型,可以理解为与 Memcached 一模一样,一个 key 值对应一个 value值. 需要注意,string类型是二进制安全的,可以对应任意数据

[redis]redis五种数据类型命令汇总整理

redis所有命令参考中文版 键key 命令 时间复杂度 命令描述 返回值 del key O(N) 在key存在时删除key 被移除key的数量 dump key O(N) 序列话给定key,并返回被序列化的值 exists key O(1) 检查给定key是否存在 若key存在,返回1,否则返回0. expire key seconds O(1) 为给定key设置过期时间 设置成功返回1. 当key不存在或者不能为key设置生存时间时(比如在低于2.1.3中你尝试更新key的生存时间),返回

转 redis 五种数据类型的使用场景

http://www.cnblogs.com/lori/archive/2012/05/15/2501862.html Redis学习笔记~Redis提供的五种数据结构 回到目录 分布式缓存,消息队列,替代Session呵呵(Session太不稳定了,呵呵)=Redis Redis的崛起绝非偶然,它确实有自己的新东西在里面,它不像Memcached,只能将数据存储在内存中,它提供了持久化机制,避免了場机后的雪崩的问题,即服务器出现问题后,内存中保留的原始数据全部丢失,需要重新组织数据到内存,这时

Redis之五种数据类型的简单增删改查

开心一笑 乌龟受伤.让蜗牛去买药.过了2个小时.蜗牛还没回来.乌龟急了骂道:他妈的再不回来老子就死了!这时门外传来了蜗牛的声音:你他妈再说老子不去了! 提出问题 Redis五种数据类型的简单增删改查命令??? 解决问题 假设你已经安装Redis服务器: 假设你已经打开Redis cli命令行工具: 假设你对Redis有所了解: Redis简单增删改查例子 例一:字符串的增删改查 #增加一个key为ay_key的值 127.0.0.1:6379> set ay_key "ay" O

redis 五种数据类型

前言 前面学会了单机, 学会了集群, 但是redis咋用啊? 或者说, redis支持哪些数据类型呢? 常用的有五种: String , Hash, List, Set, zset(SortedSet) 一.String String 类型, 在前面也是使用过的. 直接来看一下 可以使用del name来删除缓存 二.List push指令: push分两个, 一个从左边push, 一个从右边push. 但是这个左右, 是对准备push的值而言的. 而不是针对将要push的数组来说的. pop指

003 redis的基本数据类型

一 概述 之前介绍redis的时候就说到,我们使用redis的时候最重要的就是使用redis提供的数据类型实现我们的数据结构, 总的来说,就是实现符合业务逻辑的数据结构,以此来模拟关系型数据库的行为. 使用redis的性能来弥补关系型数据库性能不足的缺陷. 因此,redis的基本数据结构就是最为基本的了. 二 .基本数据类型的简介 [1] redis的键是一个字符串类型的. 这个决定了redis的使用过程之中,key的设置就是一个需要考虑的问题. 更好的key的设计会帮助我们实现更加巧妙的数据结

redis五种数据类型的使用场景

string 1.String 常用命令: 除了get.set.incr.decr mget等操作外,Redis还提供了下面一些操作: 获取字符串长度 往字符串append内容 设置和获取字符串的某一段内容 设置及获取字符串的某一位(bit) 批量设置一系列字符串的内容 应用场景: String是最常用的一种数据类型,普通的key/value存储都可以归为此类,value其实不仅是String, 也可以是数字:比如想知道什么时候封锁一个IP地址(访问超过几次).INCRBY命令让这些变得很容易,

redis中各种数据类型的常用操作方法汇总

一.Redis的五大数据类型 1.String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value.string类型是二进制安全的.意思是redis的string可以包含任何数据.比如jpg图片或者序列化的对象 .string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M 2.Hash(哈希,类似java里的Map) Redis hash 是一个键值对集合.Redis hash是一个s

Redis五种数据类型及应用场景

MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题: 1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间. 2.Memcached与MySQL数据库数据一致性问题. 3.Memcached数据命中率低或down机,大量访问直接穿透到DB,MySQL无法支撑.

Redis的基本数据类型

Redis的基本数据类型 1.String类型 它是二进制安全的,可以存储图片等数据.不会因为特殊字符导致字符串结尾,redis是C语言书写的,C的字符串有这种特点.底层是SDS(simple dynamic string),字符串是动态的,类似arraylist. 底层:SDS(simple dynamic string) 用途:缓存用户信息的一个字段 常用命令:set.get.getset key value(先获取值然后再设置).incr.decr(自增和自减).incrby key va