〇、常用命令

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. nginx反向代理(1)

    目录 反向代理 概述 nginx代理 proxy_pass 加与不加/ ================================================================ ...

  2. Qt Gui 第七章

    1.processEvents 该函数用来处理窗口的各种事件,重绘和event ; row < RowCount; ++row) { ; column < ColumnCount; ++c ...

  3. ECMAScript基本对象——Boolean对象

    1.创建 var myBoolean=new Boolean(); 2.方法 toString()把布尔值转换为字符串,并返回结果 valueOf()返回 Boolean 对象的原始值. 3.属性 1 ...

  4. 假期学习【三】HDFS操作及spark的安装/使用

    1.安装 Hadoop 和 Spark 进入 Linux 系统,参照本教程官网“实验指南”栏目的“Hadoop 的安装和使用”,完 成 Hadoop 伪分布式模式的安装.完成 Hadoop 的安装以后 ...

  5. POJ 2096 Collecting Bugs (概率DP,求期望)

    Ivan is fond of collecting. Unlike other people who collect post stamps, coins or other material stu ...

  6. Linux运维--14.Kolla部署OpenStack使用external MariaDB Galera Cluster

    使用haproxy+keepalived实现Mariadb负载均衡 controller2: 10.100.2.52 haproxy+keepalived controller3: 10.100.2. ...

  7. Apache服务:使用 Apache 服务部署静态网站

    1.安装Apache服务 第一步:安装Apache服务程序   yum install httpd 具体流程参考https://www.cnblogs.com/python-wen/p/1016845 ...

  8. JFinal获取多个model

    个人博客 地址:http://www.wenhaofan.com/article/20180930112646 由于jfinal框架自身没有实现获取多个同一类型的Model的方法,导致获取ModelL ...

  9. C++ 获取当前正在执行的函数的相关信息(转)

    该功能用在日志打印中 原文地址:C++ 获取当前正在执行的函数的相关信息

  10. JDBC获取超出最大连接的连接池对象