redis提供的5种数据结构

String

可以是字符串,整数,浮点数

list

一个链表,链表的每一个节点都包含一个字符串

set

无序集合,包含不重复的字符串

hash

包含键值对的无序散列表

zset

有序集合
存储分数与元素之间的映射,元素排列顺序根据分值大小来决定

具体使用命令

String

*字符串操作*

get

获取存储在给定键中的值

get(key)

set

设置存储在给定键中的值,如果已经存在将会覆盖

set(key)

del

删除存储在给定键中的值(适用于redis提供的5种数据结构)

del(key)

*数值操作*

incr

在键存储的值上 自增1 ,如果不存在key,那么从0开始增加

incr(key)

decr

在键存储的值上 自减1 如果不存在key,那么从0开始减少

decr (key)

incrby

在键存储的值上 加上 整数 , 如果不存在key,那么从0开始增加

incrby (key,num)

decrby

在键存储的值上 减去 整数, 如果不存在key,那么从0开始减少

decrby(key,num)

incrbyfloat

在键存储的值上 加上 浮点数 (redis2.6及以上版本可用)

incrbyfloat(key,float)

*子串操作*

append

在键存储的值上 做追加

append(key,appendStr)

getrange

在键存储的值上 获取 一段范围类的子串

getrange(key,start,end)

setrange

在键存储的值上 将从偏移量开始的子串设置为指定的值

setrange(key,offset,value)

*位操作,不常用*

getbit

将字符串看做是二进制字位串,并返回位串中偏移量为offset的二进制值

getbit(key,offset)

setbit

将字符串看做是二进制位串,并将位串中偏移量为offset的二进制值设置为value

setbit(key,offset,value)

bitcount

统计二进制位串里面值为1的二进制位数量

bitcount(key ,[start , end])

bitop

对一个或者多个二进制位串执行包括and,or,xor,not在内的任意一种按位运算操作,并将计算获取的结果保存在destkey的键里面

bitop operation destkey key1,key2....

list

*常用操作*

rpush

将一个或者多个值,推入列表的右端

rpush(key,value...)

lpush

将一个或者多个值,推入列表的左端

lpush(key,value...)

rpop

移除并返回列表最右端的元素

rpop(key)

lpop

移除并返回列表最左端的元素

lpop(key)

lindex

返回列表中偏移量为offset的元素

lindex(key,offset)

lrange

返回列表从start偏移量到end偏移量范围内的所有元素,偏移量start和end的都包含在内

lrange(key,start,end)

ltrim

对列表进行修剪,只保留从start到end之内的元素,包含start和end

ltrim(key,start,end)

*阻塞操作*

blpop

移除并返回列表最左端的元素,或者在timeout时间类阻塞并且等待元素出现

blpop(key,timeout)

brpop

移除并返回列表最右端的元素,或者在timeout时间类阻塞并且等待元素出现

brpop(key,timeout)

*移动操作*

rpoplpush

从srckey弹出最右端的元素,加入destkey做左端

rpoplpush(srckey,destkey)

brpoplpush

从srckey弹出最右端的元素,加入destkey做左端,如果srckey为空那么等待timeout

brpoplpush(srckey,destkey,timeout)

set

*单集合处理*

sadd

将一个或者多个值添加到集合中,并返回被添加元素中不存在与集合中的数量

sadd(key,item...)

srem

从集合中移除一个或者多个元素,并返回被移除的数量

srem(key,itme...)

sismember

检查元素item是否存在于集合中

sismember(key,item)

scard

返回集合包含的元素数量

scard(key)

smembers

返回集合包含的所有元素

smembers(key)

srandmember

从集合中随机返回一个或者多个元素,
当count不填写时,返回一个元素.
当count填写并且为正数,那么返回的元素个数为count,并且不重复
当count填写并且为负数,那么返回的元素个数为count绝对值,并且可能存在重复

srandmember(key,[count])

spop

随机移除集合中的一个元素,并获取它

spop(key)

*多集合处理*

smove

从src集合获取元素item,添加dest集合中. 如果src中存在item,那么返回 1 否则返回 0

smove(src,dest,item)

sdiff

返回那些存在于第一个集合,但是不存在与其他集合中的元素

sdiff(keys...)

sdiffstore

将那些存在于第一个集合,但是不存在与其他集合中的元素存储到dest中

sidffstore(dest,keys...)

sinter

返回同时存在于所有集合中的元素

sinter(keys...)

sintersotre

将那些所有集合都存在的元素,存储到dest中

sintersotre(dest,keys...)

sunion

返回那些至少存在一个集合中的元素

sunion(kyes...)

sunionstore

将那些至少存在于一个集合中的元素存储到dest中(实际上就是合并所有集合)

sunionstore(keys...)

hash(键值对)

hexists

检查指定的键是否存在于散列中

hexists(key1,key2) key1

是散列的key,key2是散列中键值对的key

hkeys

获取散列中所有的键

hkeys(key)

hvals

获取散列中所有的值

hvals(key)

hgetall

获取散列包含的所有键值对

hgetall(key)

hincrby

将散列中key存储的值加上整数

hincrby(key1,key2,num)

hincrbyfloat

将散列中key存储的值加上浮点数

hincrbyfloat(key1,key2,float)

zset(有序集合)

*常用命令*

zadd

将带有指定分值的元素添加到有序集合中

zadd(key,score,item)

zrem

从有序集合中移除指定的元素,并返回移除的数量

zrem(key,item...)

zcard

返回有序集合包含的元素数量

zcard(key)

zincrby

将元素的分值加上num

zincrby(key,num,item)

zcount

返回分值介于min与max之间的数量

zcount(key,min,max)

zrank

返回元素在有序集合中的排名

zrank(key,item)

zscore

返回元素的分值

zscore(key,item)

zrange

返回有序集合中排名介于start和stop之间的成员,如果withscores可选项存在,那么连带分数也会一起返回

zrange(key,start,stop,[withscores])

zrevrank

返回有序集合中元素item的排名,按照分数从大到小

zrevrank(key,item)

zrevrange

返回有序集合中给定排名范围内的元素,按照分值从大到下排列

zrevrange(key,start,stop,[withscores]

zrangebyscore

返回有序集合中分值介于min与max中的元素

zrangebyscore (key,min,max,[withscores] [limit offset count]

zrevrangebyscore

返回有序集合中分值介于min与max中的成员,并按照分值从大到小排序

zrevrangebyscore(key,max,min,[withscores] [limit offset count]

zremrangebyrank

移除有序列表中排名介于start与stop中间的元素

zremrangebyrank(key,start,stop)

zremrangebyscore

移除有序集合中分值介于min与max之间的元素

zremrangebyscore(key,min,max)

zinterstore

将多个集合进行交集运算存储到dest中 (opt过滤选项)

zinterstore(dest,keys,[opt])

zunionstore

将多个集合进行并集运算存储到dest中(opt过滤选项)

zunionstore(dest,keys,[opt])

edis学习记录02-redis基础数据类型命令相关推荐

  1. redis学习(1)之redis基础和配置主从

    redis介绍 redis介绍 为什么会出现redis呢? redis特性 速度快 基于key-value 丰富的功能 简单稳定 支持的语言多 持久化 主从复制 redis应用场景 缓存 排行榜系统 ...

  2. redis 基础数据类型及应用 1

    redis 基础数据类型及应用 1 redis简介 一. string 数据类型与结构(字符串) 1 string类型简介 2 常用命令 1.set 命令 2.get 命令 3.getset 命令 4 ...

  3. java基础案例教程前4章知识点_java学习记录4 Java基础知识点

    java学习记录4 Java基础知识点 1. 注释 单行注释 使用"//"开头,后面是注释的内容 一般在要注释的语句的上面加注释 多行注释 以"/*"开头,以& ...

  4. Java学习记录02

    Java学习记录02 在学习中,博客的书写不可缺少,相应的markdown基本语法也要掌握,下面是自己在CSDN上查找并学习的链接:Markdown语法 2.6项目实训:基于控制台设计简易打折与累加计 ...

  5. redis基础数据类型set(无序不重复集合)

    redis基础数据类型set(无需不重复集合) 常用命令 命令 说明 Sadd setName element 往set集合中添加1个元素 Smembers setName 查看指定set集合的所有元 ...

  6. JavaScript学习笔记02【基础——对象(Function、Array、Date、Math)】

    w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...

  7. 【Java从0到架构师】Redis 基础 - 数据类型

    Redis 原理与实战 Redis 基础 为什么 Redis 这么快? Redis 安装.启动 Redis 常用配置 Redis 数据类型 通用命令 String - value 可以是字符串.数值. ...

  8. Redis基础——数据类型详解

    命令参考:http://doc.redisfans.com/ 简介 Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库. Redis 与其他 key - valu ...

  9. Redis基础常用命令入门

    目录 Redis基础命令 一.字符串类型 ▪️ 赋值 SET : ▪️ 获取 GET: ▪️ 递增(减) 1 INC.DECR: ▪️ 递增(减)指定整数 INCRBY .DECRBY: ▪️ 递增( ...

  10. python集合数据对象_python学习第七天 基础数据类型补充 深浅copy 集合 关键字后面加可迭代对象...

    在基础数据类型中可能遇到的坑: 元组: tuple1=(1) 的数据类型是int , tuple2=('alex')的数据类型是str 等 tuple1=(1,) 和 tuple2的数据类型是 tup ...

最新文章

  1. 2018年东北农业大学春季校赛 D wyh的迷宫【搜索】
  2. 黄聪:分享 SQL Server 2005 分区实现教程
  3. 多项式相乘快速算法原理及相应C代码实现
  4. 一款适用于家庭智能设备的带摄像头的开发板—最主要是价格低的超乎你想象
  5. Objective-C:OC内部可变对象和不可变对象的深(复制)拷贝问题思考:
  6. java内存泄露有什么后果,Java内存泄露问题是什么?
  7. bellman ford 算法 判断是否存在负环
  8. torch.max()函数==》返回该维度的最大值以及该维度最大值对应的索引
  9. JavaScript如何来实现面向对象的核心封装,继承,多态
  10. countdownlatch的使用详解(好懂!!)
  11. VisualTreeHelper
  12. STM32 ADC没有输入电压时,采集结果不为0
  13. SQL-26 (二次分组)汇总各个部门当前员工的title类型的分配数目,结果给出部门编号dept_no、dept_name、其当前员工所有的title以及该类型title对应的数目count...
  14. web前端进阶架构师之路
  15. ADS笔记 | 史密斯圆进行阻抗匹配,并用ADS仿真结果
  16. 智渔课堂官方免费教程二十六:Java基础教程之数组
  17. 科研必备 | 谷歌学术高级搜索详解
  18. android红外线开发实例,Android实例-红外线操作(XE10.2+小米5)
  19. 服务器未响应wan口连接失败,路由器WAN口连接失败如何解决 路由器WAN口连接失败解决方法【详解】...
  20. c语言 aligned,“__attribute __((packed,aligned(4)))”的含义是什么意思?

热门文章

  1. 实现PPT在线预览,PPT转图片方案
  2. C++、QT KTV点歌系统 / 音乐播放器
  3. 在微型计算机机箱的面板上,【简评】桌面小精灵,Turemetal UP2 ThinITX机箱试用
  4. 企业迁移云主机需要注意的事项有哪些
  5. 回测平台小例子BKT:收盘前2分钟买,第二天卖
  6. 计算机课对分课堂,对分课堂是干什么的
  7. Java 输出空心等腰三角形
  8. 【Python面试题】-设计模式
  9. spring-boot-maven-plugin:3.0.0:repackage 报错原因
  10. 如何创建你自己的谷歌浏览器扩展