redis基本数据类型及方法
redis支持的数据类型
String redis最基本的类型,可以是任意类型的字符串,也可以是数字
- SET 赋值,用法:
SET key value
- GET 取值,用法:
GET key
- INCR 递增数字,仅仅对数字类型的键有用,相当于Java的i++运算,用法:
INCR key
- INCRBY 增加指定的数字,仅仅对数字类型的键有用,相当于Java的i+=3,用法:
INCRBY key increment
,意思是key自增increment,increment可以为负数,表示减少。 - DECR 递减数字,仅仅对数字类型的键有用,相当于Java的i–,用法:
DECR key
- DECRBY 减少指定的数字,仅仅对数字类型的键有用,相当于Java的i-=3,用法:
DECRBY key decrement
,意思是key自减decrement,decrement可以为正数,表示增加。 - INCRBYFLOAT 增加指定浮点数,仅仅对数字类型的键有用,用法:
INCRBYFLOAT key increment
- APPEND 向尾部追加值,相当于Java中的”hello”.append(“ world”),用法:
APPEND key value
- STRLEN 获取字符串长度,用法:
STRLEN key
- MSET 同时设置多个key的值,用法:
MSET key1 value1 [key2 value2 ...]
- MGET 同时获取多个key的值,用法:
MGET key1 [key2 ...]
Hash 多个key-value对的集合,可以用来存储对象,相当于Java中的HashMap<String,String>
- HSET 赋值,用法:
HSET key field value
- HMSET 一次赋值多个字段,用法:
HMSET key field1 value1 [field2 values]
- HGET 取值,用法:
HSET key field
- HMGET 一次取多个字段的值,用法:
HMSET key field1 [field2]
- HGETALL 一次取所有字段的值,用法:
HGETALL key
- HEXISTS 判断字段是否存在,用法:
HEXISTS key field
- HSETNX 当字段不存在时赋值,用法:
HSETNX key field value
- HINCRBY 增加数字,仅对数字类型的值有用,用法:
HINCRBY key field increment
- HDEL 删除字段,用法:
HDEL key field
- HKEYS 获取所有字段名,用法:
HKEYS key
- HVALS 获取所有字段值,用法:
HVALS key
- HLEN 获取字段数量,用法:
HLEN key
List 双向链表
- LPUSH 向列表左端添加元素,用法:
LPUSH key value
- RPUSH 向列表右端添加元素,用法:
RPUSH key value
- LPOP 从列表左端弹出元素,用法:
LPOP key
- RPOP 从列表右端弹出元素,用法:
RPOP key
- LLEN 获取列表中元素个数,用法:
LLEN key
- LRANGE 获取列表中某一片段的元素,用法:
LRANGE key start stop
,index从0开始,-1表示最后一个元素 - LREM 删除列表中指定的值,用法:
LREM key count value
,删除列表中前count个值为value的元素,当count>0时从左边开始数,count<0时从右边开始数,count=0时会删除所有值为value的元素 - LINDEX 获取指定索引的元素值,用法:
LINDEX key index
- LSET 设置指定索引的元素值,用法:
LSET key index value
- LTRIM 只保留列表指定片段,用法:
LTRIM key start stop
,包含start和stop - LINSERT 像列表中插入元素,用法:
LINSERT key BEFORE|AFTER privot value
,从左边开始寻找值为privot的第一个元素,然后根据第二个参数是BEFORE还是AFTER决定在该元素的前面还是后面插入value - RPOPLPUSH 将元素从一个列表转义到另一个列表,用法:
RPOPLPUSH source destination
Set 内部实现是一个 value为null的HashMap,相当于Java中的HashSet<String>
- SADD 添加元素,用法:
SADD key value1 [value2 value3 ...]
- SREM 删除元素,用法:
SREM key value2 [value2 value3 ...]
- SMEMBERS 获得集合中所有元素,用法:
SMEMBERS key
- SISMEMBER 判断元素是否在集合中,用法:
SISMEMBER key value
- SDIFF 对集合做差集运算,用法:
SDIFF key1 key2 [key3 ...]
,先计算key1和key2的差集,然后再用结果与key3做差集 - SINTER 对集合做交集运算,用法:
SINTER key1 key2 [key3 ...]
- SUNION 对集合做并集运算,用法:
SUNION key1 key2 [key3 ...]
- SCARD 获得集合中元素的个数,用法:
SCARD key
- SDIFFSTORE 对集合做差集并将结果存储,用法:
SDIFFSTORE destination key1 key2 [key3 ...]
- SINTERSTORE 对集合做交集运算并将结果存储,用法:
SINTERSTORE destination key1 key2 [key3 ...]
- SUNIONSTORE 对集合做并集运算并将结果存储,用法:
SUNIONSTORE destination key1 key2 [key3 ...]
- SRANDMEMBER 随机获取集合中的元素,用法:
SRANDMEMBER key [count]
,当count>0时,会随机中集合中获取count个不重复的元素,当count<0时,随机中集合中获取|count|和可能重复的元素。 - SPOP 从集合中随机弹出一个元素,用法:
SPOP key
Sorted Set 有序的set类型
- ZADD 添加元素,用法:
ZADD key score1 value1 [score2 value2 score3 value3 ...]
- ZSCORE 获取元素的分数,用法:
ZSCORE key value
- ZRANGE 获取排名在某个范围的元素,用法:
ZRANGE key start stop [WITHSCORE]
,按照元素从小到大的顺序排序,从0开始编号,包含start和stop对应的元素,WITHSCORE选项表示是否返回元素分数 - ZREVRANGE 获取排名在某个范围的元素,用法:
ZREVRANGE key start stop [WITHSCORE]
,和上一个命令用法一样,只是这个倒序排序的。 - ZRANGEBYSCORE 获取指定分数范围内的元素,用法:
ZRANGEBYSCORE key min max
,包含min和max,(min
表示不包含min,(max
表示不包含max,+inf
表示无穷大 - ZINCRBY 增加某个元素的分数,用法:
ZINCRBY key increment value
- ZCARD 获取集合中元素的个数,用法:
ZCARD key
- ZCOUNT 获取指定分数范围内的元素个数,用法:
ZCOUNT key min max
,min和max的用法和5中的一样 - ZREM 删除一个或多个元素,用法:
ZREM key value1 [value2 ...]
- ZREMRANGEBYRANK 按照排名范围删除元素,用法:
ZREMRANGEBYRANK key start stop
- ZREMRANGEBYSCORE 按照分数范围删除元素,用法:
ZREMRANGEBYSCORE key min max
,min和max的用法和4中的一样 - ZRANK 获取正序排序的元素的排名,用法:
ZRANK key value
- ZREVRANK 获取逆序排序的元素的排名,用法:
ZREVRANK key value
redis基本数据类型及方法的更多相关文章
- Redis(二) 数据类型操作指令以及对应的RedisTemplate方法
1.Redis key值操作以及RedisTemplate对应的API 本文默认使用RedisTemplate,关于RedisTemplate和StringRedisTemplate的区别如下 Red ...
- 《Redis入门指南(第二版)》读书思考总结之Redis五大数据类型
热身:系统级命令 1. 获得符合规则的键名列表 KEYS pattern 模式匹配 产品的缓存:product+"."+....; => keys product* 订单的 ...
- Redis常用数据类型
Redis常用数据类型 转载自:http://blog.sina.com.cn/s/blog_7f37ddde0101021q.html Redis最为常用的数据类型主要有以下五种: ●Str ...
- Redis学习笔记(二) ---- PHP操作Redis各数据类型
Redis 一.使用PHP操作Redis存储系统中的各类数据类型方法 1.String(字符串)操作 <?php // 1. 实例化 $redis = new Redis; // 2. 连接 r ...
- Redis常用数据类型及各种数据类型应用和实现方式
Redis常用数据类型: StringHashListSetSorted set 在具体描述这几种数据类型之前,我们先通过一张图了解下Redis内部内存管理中是如何描述这些不同数据类型的: 首先Red ...
- redis五中数据类型
MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加 ...
- Redis之数据类型
一.概念: Redis:一个开源.支持网络.基于内存.键值对存储数据库. 特点:它可以支持多种数据类型. 二.数据类型 1)Redis String 具体说明: 一般的普通的k到v一个映射是Strin ...
- redis五大数据类型以及常用操作命令
Redis的五大数据类型 String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value.string类型是二进制安全的.意 ...
- 一文搞定Redis五大数据类型及应用场景
本文学习知识点 redis五大数据类型数据类型:string.hash.list.set.sorted_set 五大类型各自的应用场景 @TOC 1. string类型 1-1 string类型数据的 ...
随机推荐
- Fresco源码解析 - DataSource怎样存储数据
Fresco源码解析 - DataSource怎样存储数据 datasource是一个独立的 package,与FB导入的guava包都在同一个工程内 - fbcore. datasource的类关系 ...
- java 枚举类小结 Enum
好久没有接触枚举类了,差不多都忘了,今天抽出个时间总结一下吧.说实话,枚举类确实能够给我们带来很大的方便. 说明:枚举类它约定了一个范围,可以理解成只可以生成固定的几个对象让外界去调用,故枚举类中的构 ...
- paper 9:SVM番外篇:支持向量机系列六:Duality —— 关于 dual 问题推导的一些补充理论。
在之前关于 support vector 的推导中,我们提到了 dual ,这里再来补充一点相关的知识.这套理论不仅适用于 SVM 的优化问题,而是对于所有带约束的优化问题都适用的,是优化理论中的一个 ...
- cactive信号
AXI中C-channel的cactive信号并不仅仅应用在CSYSREQ,CSYSACK交互中. CSYSREQ和CSYSACK信号都在低电平表示lower power的请求和应答有效. cacti ...
- MyEclipse启动失败
日志的一部分: !SESSION 2014-09-24 11:47:03.156 -----------------------------------------------eclipse.buil ...
- zw版【转发·台湾nvp系列Delphi例程】HALCON AffineTransRegion
zw版[转发·台湾nvp系列Delphi例程]HALCON AffineTransRegion unit Unit1;interfaceuses Windows, Messages, SysUtils ...
- 【py分析】使用SGMLParser分析淘宝html
SGMLParser Python 默认自带 HTMLParser 以及 SGMLParser 等等解析器,前者实在是太难用了,我就用 SGMLParser 写了一个示例程序: import urll ...
- 鸟哥的linux私房菜之档案与文件系统的压缩与打包
00000001 节约空间 其实简单的说压缩就是把没有用到的0给去掉,解压的时候在加上 在linux中,压缩文件档案的扩展名大多是.tar,.tar.gz,tgz,gz,.Z,.bz2 compres ...
- Delphi xe 下快捷使用 FastMM 的内存泄露检测功能
Delphi xe 集成了FastMM,调试程序是的时候可以方便地检查内存泄露了. 使用方法:在project中,添加一行: ReportMemoryLeaksOnShutdown := Debug ...
- 前后台数据传输两种方式:servlet、Controller
1.Servlet: 1.1从jsp页面跳转到Servlet控制器中,通过request.getParameter()来获取参数. 1.2// 把注册成功的用户对象保存在session中 ...