redis的五种数据类型

redis的五种数据类型

redis客户端建立

./redis-cli -h 192.168.1.22 -p 6380 --raw

1.String

应用场景:

统计网站访问数量、当前在线人数、微博数、粉丝数等,全局递增ID等 。

常用命令:

SET key value

GET key

MSET key1 value1 [key2 value2]

MGET key1 key2

INCR key

DECR key

SETNX key value  #只有key 不存在时,才设置key的值

2.Hash

应用场景

保存用户的详细信息。用ID作为key,value则用一组field-value的形式保存。

常用命令 (H)

HSET key field value

HGET key field

HGETALL key

HMSET key field1 value1 [field2 value2]

HMGET key field1 [filed2]

3.List

应用场景

获取最新的评论列表,获取最后登录10个用户,获取最近7天的活跃用户数等。

常用命令(L/R)

LPUSH key value1 [value2]  #将一个或多个值插入到列表头部

LPOP key #移出并获取列表的第一个元素

RPUSH key value1 [value2] #在列表尾部添加一个或多个值

RPOP key #移除并获取列表最后一个元素

LREM key count value #移除列表元素

LRANGE key start stop #获取列表指定范围内的元素

4.Set

应用场景

a.利用唯一性,可以存取当天的活跃用户列表。

b.利用集合操作,可以取不同兴趣圈子的交集,可以取当天的新增用户等。

常用命令(S)

SADD key member1 [member2] #向集合添加一个或多个成员

SDIFF key1 [key2] #返回给定所有集合的差集

SINTER key1 [key2] #返回给定所有集合的交集

SUNION key1 [key2] #返回所有给定集合的并集

SISMEMBER key member    #判断 member 元素是否是集合 key 的成员

SMEMBERS key    #返回集合中的所有成员

SREM key member1 [member2]   # 移除集合中一个或多个成员

5.Sorted Set

应用场景

销量排名,积分排名,时间线等

常用命令

ZADD key score1 member1 [score2 member2]    #向有序集合添加一个或多个成员,或者更新已存在成员的分数
ZINCRBY key increment member    #有序集合中对指定成员的分数加上增量 increment
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT]    #通过分数范围返回有序集合指定区间内的成员
ZINTERSTORE destination numkeys key [key …]    #计算给定的一个或多个有序集的交集,并将结果集存储在新的有序集合 key 中
ZUNIONSTORE destination numkeys key [key …]    #计算给定的一个或多个有序集的并集,并存储在新的 key 中

原文地址:http://blog.51cto.com/12874079/2146823

时间: 2024-08-27 12:18:46

redis的五种数据类型的相关文章

轻松搞定高并发:详解Redis的五种数据类型及应用场景分析!

一.Redis基本概念介绍和特性 1.1 Redis基本概念介绍 1.Redis是远程的,有客户端和服务端,我们一般说的是服务端: 2.Redis是基于内存的,所以比基于硬盘的MySQL要快很多,但非常吃内存 3.Redis是非关系型数据库.本质上也是数据库,但MySQL关系型数据库存储时必须定义数据词典,而Redis则不需要. 1.2 Redis 和 Memcached比较 Redis数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的

[Redis]Redis的五种数据类型与键值/服务器相关命令

-------------------------------------------------------------------------------------- String(字符串):最简单的数据类型. set age 18 ( set age 18 ex 5 ) # 设置过期时间5秒 setex age 5 18   # 效果同上, 使用 ttl age 可以查看剩余有效时间 psetex age 5000 18  # 同上,只是以毫秒为单位设置key的过期时间 ( set ag

Redis——五种数据类型

Redis共有strings.hashs.lists.sets.sorted sets五种数据类型,可以说已经比较丰富了.下面只对这几种数据类型的数据结构与用途做简要介绍.至于每种数据类型的操作API,这里只简单一提,不再一一详细介绍,有需要的用户可以Google即可. 一.    strings string是最简单的类型,一个Key对应一个Value.string类型是类型安全的,Redis的string可以包含任何数据,比如jpg图片或者序列化的对象.存储结构如下: 常用的API函数有:

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

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

Java 操作 Redis 五种数据类型

项目添加依赖 <!-- Redis 依赖 --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency> Java 怎么连接 Redis //连接 Redis @Test public void initConn01(){ S

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

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

Redis的五种对象类型及其底层实现

目录(?)[-] Redis对象类型简介 Redis对象底层数据结构 字符串对象 列表对象 哈希对象 集合对象 有序集合对象 结尾 Redis对象类型简介 Redis是一种key/value型数据库,其中,每个key和value都是使用对象表示的.比如,我们执行以下代码: redis>SET message "hello redis" 其中的key是message,是一个包含了字符串"message"的对象.而value是一个包含了"hello re

Redis入门到高可用(四)—— Redis的五种数据结构的内部编码

Redis的五种数据结构的内部编码 原文地址:https://www.cnblogs.com/thiaoqueen/p/9054083.html

(03)redis的5种数据类型及其基本操作

redis支持5种数据类型:[字符串:String].[散列(哈希):Hash].[列表:List].[集合:Set].[有序集合:SortedSet(zset)],下面分别介绍5中数据类型的常用命令以及应用场景. 1.String类型 (01)赋值:set key value (02)取值:get key (03)先获取旧值.再设置新值:getset key value (04)多个赋值:mset key1 value1 key2 value2 key3 value3 ... (05)多个取值