Redis_常用5大数据类型简介
前面介绍了一些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大数据类型简介的更多相关文章
- Redis API与常用数据类型简介
Redis API与常用数据类型简介 一.Redis API For .Net 首先,不得不说Redis官方提供了众多的API开发包,但是目前Redis官方版本不支持.Net直接进行连接,需要使用一些 ...
- openresty开发系列12--lua介绍及常用数据类型简介
openresty开发系列12--lua介绍及常用数据类型简介 lua介绍 1993 年在巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de ...
- Java的两大数据类型
Java的两大数据类型 基本数据类型 byte,short,int,long,float,double,boolean,char byte 类别 内容 类型 byte 简介 byte 数据类型是8位. ...
- Python列表介绍,最常用的Python数据类型
文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:数据杂论 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获 ...
- Redis数据类型简介(十分钟快速学习Redis)
如何在ubuntu18.04上安装和保护redis 如何连接到Redis数据库 如何管理Redis数据库和Keys 如何在Redis中管理副本和客户端 如何在Redis中管理字符串 如何在Redis中 ...
- Atitit图像识别的常用特征大总结attilax大总结
Atitit图像识别的常用特征大总结attilax大总结 1.1. 常用的图像特征有颜色特征.纹理特征.形状特征.空间关系特征. 1 1.2. HOG特征:方向梯度直方图(Histogram of O ...
- Atitit 图像处理 常用8大滤镜效果 Jhlabs 图像处理类库 java常用图像处理类库
Atitit 图像处理 常用8大滤镜效果 Jhlabs 图像处理类库 java常用图像处理类库1.1. 5种常用的Photoshop滤镜,分别针对照片的曝光.风格色调.黑白照片处理.锐利度.降噪这五大 ...
- c#中的数据类型简介(委托)
c#中的数据类型简介(委托) 什么是委托? 委托是一种类型,它封装了一类方法,这些方法具有相同的方法签名(signature).定义听起来有点拗口,首先可以确定委托是一种数据类型,那么什么是方法签名, ...
- c#中的数据类型简介(数组)
c#中的数据类型简介(数组) 数组定义 可以将数组看成相同数据类型的一组或多组数据,包括一维数组,多维数组和交错数组. 数值数组元素的默认值设置为零,而引用元素的默认值设置为 null. 交错数组是指 ...
随机推荐
- G6踩坑日记
用G6去完成一整个图例的时候,当包裹它的容器满足不了包裹的需求时,我们就需要引入缩略图来解决问题了 缩略图使用方式很简单 引入插件配置就可以了 当我们使用多张图片进行绘图(G6支持使用图片进行构图,原 ...
- 消息队列ActiveMQ的使用详解
通过上一篇文章 <消息队列深入解析>,我们已经消息队列是什么.使用消息队列的好处以及常见消息队列的简单介绍. 这一篇文章,主要带大家详细了解一下消息队列ActiveMQ的使用. 学习消息队 ...
- i春秋第二届春秋欢乐赛RSA256writeup
i春秋第二届春秋欢乐赛writeup 下载之后进行解压 发现四个文件 0x01看到题目是RSA的 又看到public.key 所以直接用kali linux的openssl 0x02可以看到e就是E ...
- Python3 断言
#!/usr/bin/env python # _*_ coding:utf-8 _*_ # Author:CarsonLi ''' 断言一般用于后面有非常重要的操作,需要使用前面的数据,而且不容许出 ...
- xv6/sh.c
// Shell. #include "types.h" #include "user.h" #include "fcntl.h" // P ...
- React Native 快速入门之认识Props和State
眼下React Native(以后简称RN)越来越火,我也要投入到学习当中.对于一个前端来说,还是有些难度.因为本人觉得这是一个App开发的领域,自然是不同.编写本文的时候,RN的版本为0.21.0. ...
- Petrozavodsk Summer Training Camp 2017 Day 9
Petrozavodsk Summer Training Camp 2017 Day 9 Problem A. Building 题目描述:给出一棵树,在树上取出一条简单路径,使得该路径的最长上升子序 ...
- Java跨域问题的处理
1,JavaScript由于安全性方面的考虑,不允许页面跨域调用其他页面的对象,那么问题来了,什么是跨域问题? 答:这是由于浏览器同源策略的限制,现在所有支持JavaScript的浏览器都使用了这个策 ...
- java基础15 内部类(成员内部类、局部内部类)和匿名内部类
一.内部类 1.1.1.成员内部类 一个类定义在另一个类的内部,那么该类就叫作成员内部类 1.1.2.成员内部类访问方式 方式一:在外部类中提供一个方法创建内部类的对象进行访问 方式二:在 ...
- 洛谷 P1184高手之在一起 题解
题目传送门 那位高手是谁啊?@jxpxcsh QWQ. 这道题数据特别水,所以直接使用O(n*m),每读进一个m内的字符串,就扫一遍n的字符串.但注意地点字符串中有可能会有空格,所以这时候就要请出g ...