前面介绍了一些redis的的基本配置,以及安装,本文继续学习redis的五大数据类型。

一、Redis的五大数据类型

  String(字符串)、List(列表)、Set(集合)、Hash(哈希,类似java里的map)、Zset(sorted set:有序集合)

二、那里去获取Redis的常见数据类型操作命令

  Http://redisdoc.com/

三、Redis键(key)

  常用的key命令:

  keys *(查询所以的key)

  exists key 判断某个key是否存在(1表示存在,0表示不存在)

  move key db(将某个key移动到其他库中)

  expire key 秒:为给定的key设置过期时间(返回1表示成功)

  ttl key 查看还有多少秒过期,-1表示永不过期,-2表示已经过期

  type key 查看key是什么类型

  注意:在set时,如果key存在,则后面的value值将会覆盖之前的value值

四、Redis字符串(String)

  String是redis最基本的类型,你可以理解成与Memcached一样的类型,一个key对应一个value。

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

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

  set 设置值,get获取值,del删除值

  append(拼接String,返回value长度),strlen(获取String长度)

  incr key +1,decr key -1,incrby key n +n, decrby key n -n(需要注意的是,只有数字才可以操作)

  如果不是数字,则会报错。

  getrange:获取指定区间范围内的值,类似between...and的关系。(注意:从0到-1表示全部)

  setrange:设置指定区间范围内的值,格式是settrange key值 具体值

  setex(set with wxpire)键秒值:设置key/value时设置存活时间

  setnx(set id not exist)设置key 如果key存在则插入数据失败 返回0

  mset(批量插入数据)/mget(批量获取数据)/msetnx(批量使用setnx插入数据)

五、Redis列表(List)

  Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部或者尾部。它的底层是一个链表。

  lpush key v1 v2 v3(插入list返回长度)

  rpush key (在最后加入value的值) lpush key(在最前面加入value的值)

  lrange key n n (查询list的值,0 到 -1为全部)

  lpop 从左删除 rpop从右删除

  lindex 按照索引获取元素(从上到下)

  llen 查看list中元素个数

  lrem key n value 删除n个value,如果value值不够则删除所有的这个value值返回删除个数

  ltrim key 开始 index 结束index,截取知道范围的值后赋值给key

  rpoplpush key1 key2 将key1的右侧value到key2中

  lset key index value 给具体下标位置设置value,如果该下标不存在则报错

  linsert key before/after 值1 值2(在值1之前/之后插入值2,如果有重复的值则会在第一个前后进行插入)

  总结:

    它是一个字符串链表,left,right都可以插入添加

    如果键不存在,创建新的链表,如果键已经存在则新增内容

    如果内容全部移除。对应的键也消失。

    链表的操作无论是在头和尾效率都极高,但假如是对中间元素进行操作,效率就很惨淡。

六、Redis集合(Set)

  Redis的Set的histring类型的无序集合。他是通过HashTable实现的。

七、Redis哈希(Hash)

  Redis hash是一个键值对集合。

  Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。

  类似Java里面Map<String, Object>

八、Redis有序集合Zset(sorted set)

  Redis zset和set一样也是string类型元素的集合,而且不允许重复的成员。

  不同的是每个元素都会关联一个double类型的分数。

  redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。

Redis_常用5大数据类型简介的更多相关文章

  1. Redis API与常用数据类型简介

    Redis API与常用数据类型简介 一.Redis API For .Net 首先,不得不说Redis官方提供了众多的API开发包,但是目前Redis官方版本不支持.Net直接进行连接,需要使用一些 ...

  2. openresty开发系列12--lua介绍及常用数据类型简介

    openresty开发系列12--lua介绍及常用数据类型简介 lua介绍  1993 年在巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de ...

  3. Java的两大数据类型

    Java的两大数据类型 基本数据类型 byte,short,int,long,float,double,boolean,char byte 类别 内容 类型 byte 简介 byte 数据类型是8位. ...

  4. Python列表介绍,最常用的Python数据类型

    文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:数据杂论 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获 ...

  5. Redis数据类型简介(十分钟快速学习Redis)

    如何在ubuntu18.04上安装和保护redis 如何连接到Redis数据库 如何管理Redis数据库和Keys 如何在Redis中管理副本和客户端 如何在Redis中管理字符串 如何在Redis中 ...

  6. Atitit图像识别的常用特征大总结attilax大总结

    Atitit图像识别的常用特征大总结attilax大总结 1.1. 常用的图像特征有颜色特征.纹理特征.形状特征.空间关系特征. 1 1.2. HOG特征:方向梯度直方图(Histogram of O ...

  7. Atitit 图像处理 常用8大滤镜效果 Jhlabs 图像处理类库 java常用图像处理类库

    Atitit 图像处理 常用8大滤镜效果 Jhlabs 图像处理类库 java常用图像处理类库1.1. 5种常用的Photoshop滤镜,分别针对照片的曝光.风格色调.黑白照片处理.锐利度.降噪这五大 ...

  8. c#中的数据类型简介(委托)

    c#中的数据类型简介(委托) 什么是委托? 委托是一种类型,它封装了一类方法,这些方法具有相同的方法签名(signature).定义听起来有点拗口,首先可以确定委托是一种数据类型,那么什么是方法签名, ...

  9. c#中的数据类型简介(数组)

    c#中的数据类型简介(数组) 数组定义 可以将数组看成相同数据类型的一组或多组数据,包括一维数组,多维数组和交错数组. 数值数组元素的默认值设置为零,而引用元素的默认值设置为 null. 交错数组是指 ...

随机推荐

  1. MySQL VS PostgreSQL:该选择哪个开源数据库?

    Naresh Kumar 是一位软件工程师与热情的博主,对编程与新事物充满了激情和兴趣.近日,Naresh撰写了一篇博文,对开源世界最常见的两种数据库 MySQL 与 PostgreSQL 的特点进行 ...

  2. 【BZOJ】3143: [Hnoi2013]游走 期望+高斯消元

    [题意]给定n个点m条边的无向连通图,每条路径的代价是其编号大小,每个点等概率往周围走,要求给所有边编号,使得从1到n的期望总分最小(求该总分).n<=500. [算法]期望+高斯消元 [题解] ...

  3. c++刷题(3/100)数独,栈和队列

    stack的基本操作 • s.size():返回栈中的元素数量 • s.empty():判断栈是否为空,返回true或false • s.push(元素):返回对栈顶部“元素”的可变(可修改)引用 • ...

  4. 混合式App开发 Apicloud 官方iPhone X 适配

    iPhone X 适配 由于iPhone X的特殊造型,为了方便开发者对iPhone X进行适配,苹果在iOS 11中引入了Safe Area的概念,引擎也在api对象下添加了safeArea属性和s ...

  5. UIScrollViewDelegate 方法调用

    UIScrollViewDelegate 方法调用 /** 设置缩放的View, 初始化完之后调用此方法告诉scrollView 谁可以缩放操作, 然后进行布局 */ func viewForZoom ...

  6. C语言实现int转换string

    #include <stdio.h> #include <stdlib.h> #include <string.h> int string2int(const ch ...

  7. LightOJ - 1297 Largest Box LightOJ(一元三次方程求极大值)

    题目链接:https://vjudge.net/contest/28079#problem/K 题目大意:给你一个长为L,宽为W的纸片,四个角剪掉边长为x的正方形,如下图所示,然后折成一个无盖的纸盒, ...

  8. Go语言入门之切片的概念

    切片是对数组的抽象,对切片的改变会改变原数组的值 package main import "fmt" func test6(){ arr:=[...],,,,,,,,,,} s1: ...

  9. 响应式之像素和viewport

    引言 按照pc尺寸做好的网页,在手机端打开,看起来像是pc的缩小版,东西都在只是字太小都看不清了,有什么办法放大呢? 于是去google一下,发现,贴了这么一行代码就轻松解决了: <meta n ...

  10. Flume(二)Flume的Source类型

    一.概述 官方文档介绍:http://flume.apache.org/FlumeUserGuide.html#flume-sources 二.Flume Sources 描述 2.1 Avro So ...