〇、常用命令

select <num> 选择库0~15 默认0号库

key * 查看当前库所有键(可以接正则表达式)

exists <key>

type <key>

del <key>

expire <key> <seconds>  为键设置过期时间,单位秒。

ttl <key> 查看还有多少秒过期 (-1表示永不过期 -2已过期)

dbsize 查看当前数据库key的数量

flushdb 清空当前库 (flushall 清空全部库)

一、String

String是redis最基本的类型,单个string最多512M。

get <key>                                  mget <key1> <key2>...  //设置多个

set <key> <value>                    mset <key1> <value1> <key2> <value2>...  //多个

append <key> <value>

strlen <key>

setnx <key> <value>                 mesetnx   <key1> <value1> <key2> <value2>   //全部不存在时才生效

------------set if not exist

incr/decr <key>   (纯数字字符串)增长/减小 1(不存在先初始化0)

incrby/decrby <key> <value> 对应键的值 增/减 步长

getrange <key> <起始位置,从0,包含><结束位置,包含> 取子串  -------负数表示倒数第几个

setrange <key> <起始位置> <value> 用value覆写key所存储的字符串值,从起始位置开始

setex <key> <过期时间(秒)> <value> 设置键值跟过期时间(set后过期时间会刷新)

getset <key> <value> 以新换旧

二、list  双向链表。。。值在键在,值光键亡。

lpush/rpush <key> <value1> <value2>... 从左边/右边插入一个或者多个值

lpop/rpop <key> 从左/右弹出一个值

lrange <key> <start> <end> 返回链表中start到end的元素

rpoplpush <key1> <key2> 从key1列表右弹出一个值插入到key2左处。

llen <key>  元素个数

lrem <key> <count> <value> 从链表头删除value值,删除count的绝对值个value后结束 count>0从头开始 <0从尾删除 =0全部删除

linsert <key> [before|after] <search> <value> 在search 前/后插入value 为查到search插入失败。

三、Set 无序集合 。。人在塔在。人去楼空

sadd <key> <value> <value>..

smembers <key>             取出集合中所有元素

sismember <key> <value>   判断集合中是否含有value 有返回1 没有返回0

srem <key> <value1> <value2>...         删除

spop <key> 返回并删除集合中一个随机元素

srandmember <key> <n> 随机返回n个集合中元素

scard <key> 返回集合中元素个数

sinter <key1> <key2> 交集

sunion <key1> <key2> 并集

sdiff <key1> <key2> 差集

(上面三个)store <res> <key1> <key2> 求两个集合的(交并差)存在res里

四、Hash

Redis hash 是一个string类型的field和value的映射表,它的添加、删除操作都是O(1)(平均)。hash特别适用于存储对象,将一个对象存储在hash类型中会占用更少的内存,并且可以方便的存取整个对象。

  配置: hash_max_zipmap_entries 64 #配置字段最多64个

      hash_max_zipmap_value 512 #配置value最大为512字节

hset <key> <field> <value> 给key集合中的 field键对应的值赋值value

hsetnx <key> <field> <value>

hmset <key> <field1> <value1>  <field2> <value2>  批量赋值

hget <key> <field> 取指定key 指定field中的值

hmget <key> <field1> <field2> 批量取值

hexists <key> <field> 查看指定field是否存在

hlen <key> 返回field数量

hdel <key> <field> 删除指定field

hkeys <key>            hvals<key>     hgetall<key>获取某个hash中全部的field/value/field及value

hincrby <key> <field> <x> 增加x

五、zset

redis 中zset与普通set非常相似,是一个没有重复元素的字符串集合。不同之处是zset的每个成员都关联了一个(double)score 用来排序,在value被创建或修改时可以指定其值。底层实现是skip list 和 hashtable的混合体。

当元素被添加到集合中时,一个元素到score的映射被添加到hash table中,所以给定一个元素获取score的开销是O(1)。另一个score到元素的映射被添加的skip list,并按照score排序,所以就可以有序地获取集合中的元素。添加、删除操作开销都是O(logN)和skip list的开销一致,redis的skip list 实现是双向链表,这样就可以逆序从尾部去元素。sorted set最经常使用方式应该就是作为索引来使用,我们可以把要排序的字段作为score存储,对象的ID当元素存储。

zadd <key> <score1> <value1>

zrange <key> <start> <stop> 把排序后的结果返回 (默认score升序)

z(rev)rank <key> <value> 查询对饮value的排名,(默认升序,rev按降序排列)

zrem <key> <value>... 删除

zremrangebyscore <key> min max  删除 score属于 [min,max]

zremrangebyrank <key>start end 删除 名次属于[start,end]

zcard  <key> 返回集合中元素的个数

zcount <key> <min> <max> 返回score在区间[min,max]内的元素个数

Redis 基本数据类型以及相应操作的更多相关文章

  1. Redis系列(二):Redis的数据类型及命令操作

    原文链接(转载请注明出处):Redis系列(二):Redis的数据类型及命令操作 Redis 中常用命令 Redis 官方的文档是英文版的,当然网上也有大量的中文翻译版,例如:Redis 命令参考.这 ...

  2. Redis五大数据类型的常用操作

    在上一篇博文<centos安装redis>中,已经详细介绍了如何在centos上安装redis,今天主要介绍下Redis五大数据类型及其五大数据类型的相关操作. Redis支持五种数据类型 ...

  3. Redis学习2:Redis的数据类型和常用操作

    1.常用命令 命令 说明 返回值 时间复杂度 keys */[pattern] 遍历所有符合条件的key,一般不在生产环境使用 所有key O(n) dbsize 计算key的总数 n O(1) ex ...

  4. Redis 五大数据类型及常用操作

    # 更详细的操作命令请查看 => http://redisdoc.com/ 1: KEY ( 键值 )  => 常见操作 2: String ( 字符串 ), 最大支持 512M 2.1: ...

  5. redis的数据类型(一) key操作

      redis是一个key-value形式的数据缓存,因此包括key和value. 一.key的说明 1.redis的key   Redis的key是字符串类型,但是key中不能包括边界字符,由于ke ...

  6. Redis的数据类型及相关操作命令

    redis 基础内容 —— redis的数据类型及相关操作的Linux命令.所谓大厦千层基础承载,希望大家认真学习这一讲: 一.redis 的五大数据类型: 1.String(字符串): 2.List ...

  7. Redis学习笔记(二) ---- PHP操作Redis各数据类型

    Redis 一.使用PHP操作Redis存储系统中的各类数据类型方法 1.String(字符串)操作 <?php // 1. 实例化 $redis = new Redis; // 2. 连接 r ...

  8. Redis(二) 数据类型操作指令以及对应的RedisTemplate方法

    1.Redis key值操作以及RedisTemplate对应的API 本文默认使用RedisTemplate,关于RedisTemplate和StringRedisTemplate的区别如下 Red ...

  9. Redis常用数据类型以及操作

    Redis常用数据类型以及操作 目录 Redis常用数据类型以及操作 一.String数据类型 1. SET/GET/APPEND/STRLEN 2. INCR/DECR/INCRBY/DECRBY ...

随机推荐

  1. 08-SV面向对象编程的高级技巧指南

    1.原始类与扩展类 (1)原始类被称为父类或者超类,扩展类被称为派生类或者子类.扩展类可以直接访问原始类和其本身的所有变量,应该将原始类中的子程序定义成虚拟的,这样它们就可以在扩展类中重定义.new函 ...

  2. Genymotion下载及安装(安卓虚拟机)

    Genymotion下载及安装   一.注册\登录 打开Genymotion官网,https://www.genymotion.com/ ,首先点击右上角的Sign in进行登录操作.如何登录就不细讲 ...

  3. 线段树(lazy标记)-- 模板

    ], lazy[MAXN << ]; void PushUp(int rt) { ans[rt] = ans[rt << ] + ans[rt << | ]; } ...

  4. java学习笔记之IO编程—目录和文件的拷贝

    进行文件或目录的拷贝时,要先判断处理对象是文件还是目录,如果是文件则直接拷贝,如果是目录还需要拷贝它的子目录及其文件,这就需要递归处理了 import java.io.*; class FileUti ...

  5. C#的结构和数组

    下面我们继续学习C#的语法.结构struct,C#中的结构和我们PLC中建立的UDT(结构体)是一样的.里面存储了相关的不同类型的数据. 有一句话我觉得十分重要:方法是依存于结构和对象存在的.这以后我 ...

  6. Python之四:控制流

    1.If 逻辑判断: if a: b elif c: d else: e 先判断a语句块的值是否为真,如果为真,则执行b语句块,如果不为真则转到elif判断c语句块的值是否为真,如果为真执行d语句块, ...

  7. 【转载】Cadence验证仿真工具IUS和IES

    本博客转自: cadence验证仿真工具IUS和IES | 骏的世界http://www.lujun.org.cn/?p=3714 cadence验证仿真工具IUS和IES cadence,有两大验证 ...

  8. python3爬取淘宝商品(失效)

    最近有人反映淘宝的搜索功能要登录才能用,原先的直接爬取的方法挂了.稍微把之前的代码修改了一下,登录采用最简单的复制cookie来解决. 顺便说一下,这只是根据搜索的的索引界面获取的信息,并未深入的获取 ...

  9. pytest-pytest-html生成HTML测试报告

    pytest-HTML是一个插件,pytest用于生成测试结果的HTML报告.兼容Python 2.7,3.6 pytest-html 1.github上源码地址[https://github.com ...

  10. How to read a paper efficiently - by prof. Pete carr

    DON'T DO THAT: read the article from the beginning to end; it's a waste of time! READ A PAPER IN TWO ...