Redis 的常用五大数据类型

栏目: 数据库 · 发布时间: 5年前

内容简介:2016-12-21 14:54:20该系列文章链接NoSQL 数据库简介

2016-12-21 14:54:20

该系列文章链接

NoSQL 数据库简介

Redis的安装及及一些杂项基础知识

Redis 的常用五大数据类型(key,string,hash,list,set,zset)

Redis 配置文件介绍

Redis 持久化之RDB

Redis 持久化之AOF

Redis 主从复制

Redis 事务

Redis 发布与订阅

Redis 相对其它类型的 NoSQL 数据库而言,更出彩的一点就是有更多的数据类型共使用者选择。

学习任意一门技术,都应该从官网入手, Redis官网(https://redis.io/)Redis 中文网(http://www.redis.cn/) (华为建立的)

本系列文章只讲常用命令,对于完整命令及信息可以翻阅 Redis 命令参考(http://redisdoc.com/index.html)

既然 Redis 属于键值对类型数据库,那么接下来来看看独属于键的命令吧

一.key

1.keys pattern:在本数据库中查找对应某种格式的键

找到本数据库中所有的键(* 代表1个或多个字符):keys *

Redis 的常用五大数据类型

2. 找到 study 名称下所有的数据库:keys study:*

Redis 的常用五大数据类型

3.exists key:判断 key 键是否存在

查找 study:string:k2 和 study:string:k4 键值是否存在:

Redis 的常用五大数据类型

4.move key db:将 key 键移到 db 数据库中

Redis 的常用五大数据类型

5.type key:求出 key 键的类型

Redis 的常用五大数据类型

6.expire key seconds:设置 key 的过期时间

Redis 的常用五大数据类型

7.ttl key :查询 key 的过期时间

Redis 的常用五大数据类型

二. string

string 是字符串,key:value 键值对

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

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

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

1.set/get/append string_name value

incr/incrby decr/decrby

若是 value 仅是数字,则可以用 incr/incrby decr/decrby 对 value 做加减操作

Redis 的常用五大数据类型

2.strlen

求字符串的长度

Redis 的常用五大数据类型

3.getrange/setrange

截取总串中的部分字符串

Redis 的常用五大数据类型

4.setex/setnx

setex:创建键值和过期时间

Redis 的常用五大数据类型

setnx:set if not exists

Redis 的常用五大数据类型

5.mset/mget/msetnx

对多个 string 进行操作

Redis 的常用五大数据类型

这张图是关于三个命令的操作,以及一些特殊情况

mset key value [key]:若值已存在,则 value 覆盖旧值,如果不希望的话,则使用 msetnx

msetnx:只会在所有给定 key 都不存在的情况下进行操作

6.getset

先取值再设置值

Redis 的常用五大数据类型

三.hash

Redis hash 是一个键值对集合。

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

1.hset/hget/hmset/hmget/hgetall/hdel

Redis 的常用五大数据类型

2.hlen

同上

3.hexists

同上

4.hincrby/hincrbyfloat

Redis 的常用五大数据类型

5.hsetnx

Redis 的常用五大数据类型

四.list

Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。

它的底层实际是个链表

1.lpush/rpush/lrange/lpop/rpop    

Redis 的常用五大数据类型 Redis 的常用五大数据类型

lpush 入 list,可以把 list 当作栈来用

rpush 入 lsit,可以把 list 当作队列来用

2.llen/lindex

Redis 的常用五大数据类型

3.lrem

lrem key count value:删除 key 中重复的值

Redis 的常用五大数据类型

4.ltrim

ltrim key begin end

Redis 的常用五大数据类型

5.rpoplpush

Redis 的常用五大数据类型

6.lset key index value

linsert key before/after value new_value

这两个是在 list 中间插入的命令,效率很低,有兴趣的可以自己试试

8.list 总结

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

如果键不存在,创建新的链表;如果键已存在,新增内容;如果值全移除,对应的键也就消失了。

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

五.set

Redis的Set是string类型的无序集合。它是通过HashTable实现实现的,

set 是一个集合,既然是集合,那么就是无序,不可重复的。

1.sadd/srem/smembers/sismember

Redis 的常用五大数据类型

2.scard

Redis 的常用五大数据类型

3.srandmember

Redis 的常用五大数据类型

4.spop

Redis 的常用五大数据类型

5.smove

把 set1 中的元素 移到 set2 中

Redis 的常用五大数据类型

6.数学集合类

差集:sdiff

并集:sunion

交集:sinter

Redis 的常用五大数据类型 六.zset:sorted set

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

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

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

1.zadd/zrem/zscore

Redis 的常用五大数据类型

2.zcard/zcount

Redis 的常用五大数据类型

3.zrange//zrangbyscore/zrank

Redis 的常用五大数据类型

zrangebyscore 命令仔细使用一下

http://redisdoc.com/sorted_set/zrangebyscore.html

4.zrevrange/zrevrangebyscore/zrevrank

这个自己去写写看


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

注意力商人

注意力商人

吳修銘 / 黃庭敏 / 天下雜誌 / 2018-4-2 / NT$650

電子郵件,免費!照片分享,無上限! 你是否想過,隨手可得的免費內容、便利的免費服務,到底都是誰在付費? 如果商品免費,那你就不是消費者,而是商品! 你我可能都不知不覺地把自己賣給了注意力商人! 「『媒體轉型、網路演化與資訊浪潮」此一主題最具洞見的作者。』──黃哲斌(資深媒體人) 「這是少有的關注產業發展的傳播史,對現在或未來的『注意力產業』」中人來說,不可不讀。」──......一起来看看 《注意力商人》 这本书的介绍吧!

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具