redis的命令大全网站:http://redisdoc.com/

一、redis五大数据类型

1、String(字符串)、Hash(哈希,类似Java里的Map)、List(列表)、Set(集合)和Zset(sorted set,有序集合)

2、命令(命令不区分大小写):

(1)set/get/del  常规命令

(2)append k1 12345  把原值vv1和12345拼接成一个字符串:vv112345

(3)strlen k1  得到k1值的长度

(4)INCR/DECR k2  如果k2的值为数字,那么执行一次INCR命令会加1,执行一次DECR命令会减1。

(5)INCRBY/DECRBY k2 3  如果k2的值为数字,那么执行一次INCRBY命令会加3,执行一次DECRBY命令会减3。

(6)getrange k1 0 3  取k1的字符串值的前4个字符 ,所以 get k1 相当于 getrange k1 0 -1。

(7)setrange k1 0 xxx  把k1的值的前3个值(和xxx的长度相同)替换为xxx。

(8)setex k2 5 vv2  把k2的存活时间设置为5秒。

(9)setnx k4 xxx  如果k4这个键值对已经存在了,那么不起作用,如果不存在,才创建,值为xxx。

(10)mset/mget k1 v1 k2 v2 k3 v3  mset同时创建三个键值对;mget同时得到k1、k2、k3的值。

(11)msetnx k4 v4 k5 v5  如果这两个键都不存在,才可以创建成功,否则只要有一个存在,那么都不能创建成功。

二、List(列表)

1、lpush/rpush list01 1 2 3 4 5  创建列表,lpush是值的顺序与创建时相反,rpush是值的顺序为创建和显示一致。

2、lrange list01 0 3  取列表的前4个值,lrange list01 0 -1则表示取出全部。

3、lpop和rpop  lpop返回序号为1的元素,rpop返回序号最大的元素,并且移除这个元素。

4、lindex list01 3  返回序号为3(从0开始记数)的元素的值。

5、llen list01  返回列表list01中元素的个数

6、lrem list03 2 3  从list03中删除2个值为3的元素,从左往右删除

7、ltrim list01 0 3  复制list01中的前4个元素,并赋值给list01

8、lset list01 1 3  把数字3插入并替换list01的第2个元素

9、linsert list01 before/after 6 10  在元素6之前插入数字10

三、String(字符串)

String是redis最基本的类型,可以理解为与Memcahed一模一样的类型,一个key对应一个value。

String类型是二进制安全的,意思是redis的string可以包含任何数据,比如jpg图片或者序列化的对象。

String类型是redis最基本的数据类型,一个redis中字符串的value最多可以是512M。

四、Hash(哈希)

redis hash 是一个键值对集合,redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。类似与java里面的Map<String, Object>。

依然是键值对模式,但值本身也是键值对。

1、hset user id 11  把user的id属性的值设为11

2、hget user id  得到id属性的值

3、hmset customer id 11 name li4 age 26  同时设置多个属性的值

4、hmget customer id name age  同时得到多个属性的值

5、hgetall customer  同时得到所有的属性和值的键值对

6、hdel user name  删除user的name属性

7、hexists customer id  查找customer是否有id属性

8、hkeys/hvals customer   得到全部键或者值

五、Set(集合)和Zset(有序集合)

redis的Set是String类型的无序集合,是通过HashTable实现的。

Zset是有序集合,和set的区别在于每个元素都会关联一个double类型的分数,通过分数为集合中的成员从小到大进行排序。Zset的成员是唯一的,但分数可以重复。

1、 zadd zset01 60 v1 70 v2 80 v3 90 v4  创建有序列表,按照分数进行排序

2、zrange zset01 0 -1  把zset01的所有值取出来

3、zrange zset01 0 -1 withscores  把值和分数都取出来

4、zrangebyscore zset01 60 90  把60分到90分(大于等于和小于等于)的值都取出来

5、zrangebyscore zset01 (60 (90  把大于60,小于90的值都取出来

6、zrangebyscore zset01 60 90 limit 2 2  从第二个开始取,取两个

7、zrem zset01 v5  把某个值删掉

8、zcard zest01  统计值的个数

9、zcount zset01 60 90  统计60-90分的值有多少个

10、zscore zset01 v4  取得值v4对应的分数

11、zrevrange zset01 0 -1  把值以分数相反的形式返回,原来的顺序不变

六、redis键(key)命令

1、keys *   该数据库中存在的所有key

2、exists k1  判断某个key(比如k1)是否存在

3、move k3 2  把k3的键值对移动到3号数据库中

4、expire k1 5   为给定的key设置过期时间,比如k1只存活5秒

5、ttl k2  查看该key还有多少秒过期,返回-1表示永不过期,返回-2表示已过期

6、type key  查看key是什么类型的

7、key已经存在value的情况下,set key 新value:set k1 vv1  新的value会覆盖旧的value

redis学习笔记-04:redis五大数据结构类型的更多相关文章

  1. Redis学习笔记之Redis基本数据结构

    Redis基础数据结构 Redis有5种基本数据结构:String(字符串).list(列表).set(集合).hash(哈希).zset(有序集合) 字符串string 字符串类型是Redis的va ...

  2. Redis学习笔记之Redis中5种数据结构的使用场景介绍

    原来看过 redisbook 这本书,对 redis 的基本功能都已经熟悉了,从上周开始看 redis 的源码.目前目标是吃透 redis 的数据结构.我们都知道,在 redis 中一共有5种数据结构 ...

  3. Redis学习笔记之Redis单机,伪集群,Sentinel主从复制的安装和配置

    0x00 Redis简介 Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure server). Redis的键值 ...

  4. Redis学习笔记(4) Redis事务、生存时间及排序

    1. Redis事务 Redis中的事务(transaction)是一组命令的集合,一个事务中的命令要么都执行,要么都不执行.事务的原理是先将属于一个事务的命令发送给Redis,然后再让Redis依次 ...

  5. Redis学习笔记(1) Redis介绍及基础

    1. Redis的特性 (1) 存储结构 Redis(Remote Dictionary Server,远程字典服务器)是以字典结构存储数据,并允许其他应用通过TCP协议读写字典中的内容.Redis支 ...

  6. redis学习笔记之redis简介

    redis简介 Redis是一个开源的,高性能的,基于键值对的缓存与存储系统,通过设置各种键值数据类型来适应不同场景下的缓存与存储需求.同事redis的诸多高层级功能使其可以胜任消息队列,任务队列等不 ...

  7. StackExchange.Redis学习笔记(一) Redis的使用初探

    Redis Redis将其数据库完全保存在内存中,仅使用磁盘进行持久化. 与其它键值数据存储相比,Redis有一组相对丰富的数据类型. Redis可以将数据复制到任意数量的从机中 Redis的安装 官 ...

  8. Redis学习笔记(一):基础数据结构

    一. 引言 <Redis设计与实现>一书主要分为四个部分,其中第一个部分主要讲的是Redis的底层数据结构与对象的相关知识. Redis是一种基于C语言编写的非关系型数据库,它的五种基本对 ...

  9. Redis学习笔记(3) Redis基础类型及命令之二

    1. 集合类型 集合类型与列表类型有很多相似之处,但二者的区别在于:前者具有唯一性,但不具有有序性:后者具有有序性,但不具有唯一性.集合类型的常用操作是向集合中加入或删除元素.判断某个元素是否存在等, ...

随机推荐

  1. JavaEE实战——XML文档DOM、SAX、STAX解析方式详解

    原 JavaEE实战--XML文档DOM.SAX.STAX解析方式详解 2016年06月22日 23:10:35 李春春_ 阅读数:3445 标签: DOMSAXSTAXJAXPXML Pull 更多 ...

  2. VBA 学习笔记 - 消息框

    学习资料:https://www.yiibai.com/vba/vba_macro_comments.html 注释 单引号或 REM 开头 丸子:多行注释咋办? 消息框(MsgBox) 函数功能:显 ...

  3. 201771010135杨蓉庆《面向对象程序设计(java)》第二周学习总结

    第一部分:理论知识学习部分 3.1 标识符:由字母.下划线.美元符号和数字组成, 且第一个符号不能为数字,可用作:类名.变量名.方法名.数组名.文件名等.有Hello.$1234.程序名.www_12 ...

  4. Mac夜神模拟器99%无法正常使用

    PS:部分因更新OS X导致的卡99%可以尝试更新VBOX来解决此问题. 下载VBOX地址:https://www.virtualbox.org/wiki/Downloads         选择对应 ...

  5. 【JS 日期】获取当前日期时间

    获取当前日期时间 <!DOCTYPE html> <html> <head></head> <body> <script> wi ...

  6. 二分(求l-r中的平方数)

    题目描述 多次查询[l,r]范围内的完全平方数个数 定义整数x为完全平方数当且仅当可以找到整数y使得y*y=x 输入描述:第一行一个数n表示查询次数之后n行每行两个数l,r输出描述:对于每个查询,输出 ...

  7. Mysql基本用法-left join、right join、 inner join、子查询和join-02

    left join #左连接又叫外连接 left join 返回左表中所有记录和右表中连接字段相等的记录  test_user表 phpcvs表 SQL: select * from test_use ...

  8. 前端学习 之 HTML

    一.HTML 介绍 超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言,它不是一种编程语言. HTML使用标签来描述网页.不像p ...

  9. 投资人分享答疑----HHR计划----以太直播课第三课

    分享大纲:(祥峰投资) 一,投资人会看什么: 1,赛道定位:“生意”还是“独角兽-to be”? 2,如何退出?上市还是收购? 3,  团队能力,愿景力 4,壁垒:数据和价值 5,价格 二,融资需要准 ...

  10. K8s / Kubernetes 从入门到入门

    Kubernetes介绍 1.背景介绍 云计算飞速发展 - IaaS - PaaS - SaaS Docker技术突飞猛进 - 一次构建,到处运行 - 容器的快速轻量 - 完整的生态环境 2.什么是k ...