Redis常用数据类型及命令
Redis数据类型
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
注意:
命令的关键词,如set,get,lpush,zadd等不区分大小写。。
但是key一定要注意区分大小写。
String(字符串)
通过 set 设置 key对应的value,再通过get获取key对应的value。
test:0>set name "lin"
OK test:0>get name
"lin"
Hash(哈希)
Redis Hmset 命令用于同时将多个 field-value (字段-值)对设置到哈希表中。
此命令会覆盖哈希表中已存在的字段。
如果哈希表不存在,会创建一个空哈希表,并执行 HMSET 操作。
hmset的基本语法如下:
HMSET KEY_NAME FIELD1 VALUE1 ...FIELDN VALUEN
如果只设置一个field,则使用hset,如下:
HSET KEY_NAME FIELD VALUE
获取存储在哈希表中指定字段的值,如下:
HGET key field
示例如下:
test:0>hmset myhashkey field1 "hello" field2 "world"
OK test:0>hget myhashkey field1
"hello" test:0>hget myhashkey field2
"world" test:0>hgetall myhashkey
field1
"hello"
field2
"world"
List(列表)
list添加数据如下:
LPUSH key value1 [value2] 将一个或多个值插入到列表头部
list遍历数据如下:
Redis Lrange 返回列表中指定区间内的元素,区间以偏移量 START 和 END 指定。 其中 0 表示列表的第一个元素, 1 表示列表的第二个元素,以此类推。 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。
LRANGE KEY_NAME START END
lpush l是left,也就是从左边开始添加。需要注意的是,继续从左边添加数据,已添加的数据会向右移。
因此,遍历时的顺序与插入时的顺序相反。
(rpush r是right,也就是从右边开始添加。)
list移除数据如下:
Lpop 命令用于移除并返回列表的第一个元素。
Lpop KEY_NAME
示例如下:
test:0>lpush order order1
1 test:0>lpush order order2
2 test:0>lpush order order3
3 test:0>lrange order 0 2
order3
order2
order1 test:0>lpop order
order3 test:0>lrange order 0 2
order2
order1
Set(集合)
Redis的Set是string类型的无序不重复的集合。
sadd 命令:添加一个 string 元素到 key 对应的 set 集合中,成功返回1,如果元素已经在集合中返回 0,如果 key 对应的 set 不存在则返回错误。
如果添加多个元素,那么就会返回元素的个数。
sadd key 元素1 元素2 元素3 ...
smembers命令:遍历set集合
smembers key
示例如下:
test:0>sadd mySet "redis"
1 test:0>sadd mySet "mongodb"
1 test:0>sadd mySet "couchdb"
1
//因为元素"couchdb"已经存在,所以无法再次添加,返回结果0.
test:0>sadd mySet "couchdb"
0
//遍历集合
test:0>smembers mySet
"couchdb"
"mongodb"
"redis"
//添加多个元素的示例如下:
test:0> sadd set-test c java c++
(integer) 3
zset(sorted set:有序集合)
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
zset的成员是唯一的,但分数(score)却可以重复。
zadd 命令:添加元素到集合,元素在集合中存在则更新对应score
zadd key score 元素内容
注意:命令的关键词,如zadd等不区分大小写。。但是key一定要注意区分大小写。
示例如下:
test:0>zadd myZSet 0 "spring"
1 test:0>zadd myZSet 0 "springboot"
1 test:0>zadd myZSet 1 "mybatis"
1
--注意:key要区分大小写。以下的myzset写错了,所以查不出结果
test:0>zrangebyscore myzset 0 1 test:0>zrangebyscore myZSet 0 1
"spring"
"springboot"
"mybatis" test:0>
Redis常用数据类型及命令的更多相关文章
- redis常用数据类型与命令
注意:LPUSH 和LPOP按照栈进行操作,RPUSH和RPOP按照队列进行操作 zremrangebyscore key score开始 score结束//根据score删除 zremrangeb ...
- Redis常用数据类型介绍、使用场景及其操作命令
Redis常用数据类型介绍.使用场景及其操作命令 本文章同时也在cpper.info发布. Redis目前支持5种数据类型,分别是: 1.String(字符串) 2.List(列表) 3.Hash(字 ...
- Redis常用数据类型
Redis常用数据类型 转载自:http://blog.sina.com.cn/s/blog_7f37ddde0101021q.html Redis最为常用的数据类型主要有以下五种: ●Str ...
- Redis系列(二):Redis的数据类型及命令操作
原文链接(转载请注明出处):Redis系列(二):Redis的数据类型及命令操作 Redis 中常用命令 Redis 官方的文档是英文版的,当然网上也有大量的中文翻译版,例如:Redis 命令参考.这 ...
- Redis常用数据类型及各种数据类型应用和实现方式
Redis常用数据类型: StringHashListSetSorted set 在具体描述这几种数据类型之前,我们先通过一张图了解下Redis内部内存管理中是如何描述这些不同数据类型的: 首先Red ...
- Redis常用数据类型以及操作
Redis常用数据类型以及操作 目录 Redis常用数据类型以及操作 一.String数据类型 1. SET/GET/APPEND/STRLEN 2. INCR/DECR/INCRBY/DECRBY ...
- 【数据库】Redis(2)--Redis的常用数据类型及命令
1.Redis主要数据类型分类 Redis中存储数据常用的数据类型主要有五种:String.List.Set.Sorted Set.Hash,这五种数据结构在Redis中存储数据的命令掌握对于我们后期 ...
- Redis的介绍和常用数据类型结构命令的总结
我们先来看一下redis的一个定义,来自官方的: Redis is an open source, BSD licensed, advanced key-value store. It is ofte ...
- Redis常用数据类型和事物以及并发
Redis数据类型 基本类型(String int): 如 set key value .get key 等 所有命令都是按照 key value keys * 可以将全部数据列出,其中后面的 &qu ...
随机推荐
- 【Spring学习笔记-4】注入集合类List、Set、Map、Pros等
概要: 当java类中含有集合属性:如List.Set.Map.Pros等时,Spring配置文件中该如何配置呢? 下面将进行讲解. 整体结构: 接口 Axe.java package org.cr ...
- Eclipse: the import java.util cannot be resolved
the import java.util cannot be resolved 导入JRE System Library. 右键项目 Build Path Configure Build Path.. ...
- Excel 公式CORREL算出相关系数
当对 N 个主体中的每一个变量进行观测时,CORREL 工作表函数可计算两个测量变量之间的相关系数.(缺少任何主体的观测值将导致该主体在分析中被忽略.)当 N 个主体中的每一个均具备两个以上的测量变量 ...
- Java 默认事务级别read committed对binlog_format的需求
转载: java.sql.SQLException: Cannot execute statement: impossible to write to binary log since BINLOG_ ...
- [UE4]封装、继承、多态
面向对象编程的三大特征 一.封装 公开能做什么,隐藏如何做.封装的目的是减少类之间的依赖. 二.继承 让一个类拥有另一个类的状态和行为,前者可以不加修改地完全复用后者的实现,也可以对有些行为做出自己的 ...
- 分割List为指定size
背景 老项目,用的原生的JDBC,获取连接,预编译...然后业务需要要更新很多条数据,我就写了条件为 ——IN()... 根据传入的 list 的 size 循环的给sql语句拼接上“ ? ”为了之后 ...
- setTimeout 方法带参数传递
setTimeout(callback, after, arg1, arg2); 其中,callback即function(){},after为时间参数,指多久后执行callback,单位为毫秒,30 ...
- jQuery更新
jQuery jQuery介绍 jQuery是一个轻量级的.兼容多浏览器的JavaScript库. jQuery使用户能够更方便地处理HTML Document.Events.实现动画效果.方便地进行 ...
- linux操作系统5 shell编程
知识内容: 1.shell编程预备知识 2.shell变量 3.表达式与运算符 4.分支循环语句 5.函数 一.shell编程预备知识 1.什么是shell编程 shell是与linux交互的基本工具 ...
- Trace VM
24小时稳定性压测Trace 高并发情况下主要观察VM运行情况 一.总体概览 如上图所示 持久代十分稳定,没有发生OOM 二.VM区域详情 上图为VM每个区间的具体情况 1.持久代始终占分配空间的四分 ...