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 ...
随机推荐
- bzoj 3978: [WF2012]Fibonacci Words
Description 斐波那契01字符串的定义如下 F(n) = { 0 if n = 0 1 if n = 1 F(n-1)+F(n-2) if n >= 2 } 这里+的定义是字符串的 ...
- appium 5-27屏幕旋转、
1.屏幕切换 注意:应用一定要支持横竖屏切换,否则无效果, public void testBrowser() throws InterruptedException { Thread.sleep(1 ...
- appium 3-4-1034等待、日志、性能数据、xpath定位、web driver协议
1.等待 1.1精确等待 sleep 不推荐 @Test public void testWait1() throws InterruptedException{ day_time(); Thread ...
- Android logcat命令详解
一.logcat命令介绍 1.android log系统 2.logcat介绍 logcat是android中的一个命令行工具,可以用于得到程序的log信息 log类是一个日志类,可以在代码中使用lo ...
- Docker集群管理(二)—— docker+swarm+etcd+shipyard
引言 前一篇介绍如何简单的搭建一个可视化管理的docker集群,本篇将在此基础之上引入etcd发现服务. 目的 使用etcd发现服务解决swarm内置发现服务的不稳定问题.etcd采用raft算法,这 ...
- 本地git仓库常用操作
SSH配置: 本机创建SSH key $ ssh-keygen -t rsa -C "youremail@example.com" 将SSHkey添加到git仓库:id_rsa.p ...
- laravel5.4中ajax删除数据
1 JS代码 function deleteInfo(id) { if(id) { var r=confirm('确定要删除吗'); if(r==true) { $.ajax({ url: " ...
- 使用 IIS 过程中遇到的一些问题
由于我最近开发的 Web 程序多是采用 Python 为主,因此大部分都是部署在 Linux 下的,自然在 Web 服务器上就选择了 Nginx,不过一些纯静态文件的 Web 应用会放在 IIS 下面 ...
- leetcode463
public class Solution { public int IslandPerimeter(int[,] grid) { );//行数 );//列数 ; ; i < row; i++) ...
- 如何给echarts图表添加下载图表成图片的功能
先打开一个现成的图表效果图,注意图中圈出的地方,如图 打开源码找到option,如图 在option下添加toolbox,如图 在toolbox下添加feature,如图 在featu ...