Redis五种常用数据结构|Redis命令行操作|Key操作|string操作|list操作|hash操作|set操作|zset操作

总体结构

Redis中的数据,总体上是键值对,不同数据类型指的是键值对中值的类型。

在这里插入图片描述

string类型

Redis中最基本的类型,它是key对应的一个单一值。二进制安全,不必担心由于编码等问题导致二进制数据变化。所以redis的string可以包含任何数据,比如jpg图片或者序列化的对象(基本不会这么干)。Redis中一个字符串值的最大容量是512M。

list类型

Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。说明它的底层是基于链表实现的,所以它操作时头尾效率高,中间效率低。

在这里插入图片描述

set类型

Redis的set是string类型的无序集合。它是基于哈希表实现的。

hash类型

本身就是一个键值对集合。可以当做Java中的Map<String,String>对待。
在这里插入图片描述

zset类型

Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。

基本操作

http://redisdoc.com/

Redis默认有16个数据库。
115 # Set the number of databases. The default database is DB 0, you can select
116 # a different one on a per-connection basis using SELECT where
117 # dbid is a number between 0 and ‘databases’-1
118 databases 16
使用select进行切换,数据库索引从0开始

## 数据库切换
select index

## 查看数据库长度
dbsize

在这里插入图片描述

Key简单操作

●KEYS PATTERN
●TYPE KEY
    返回KEY对应的值的类型
●MOVE KEY DB
    把一组键值对数据移动到另一个数据库中
●DEL KEY [KEY ...]
    根据KEY进行删除,至少要指定一个KEY
●EXISTS KEY
    检查指定的KEY是否存在。指定一个KEY时,存在返回1,不存在返回0。可以指定多个,返回存在的KEY的数量。
●RANDOMKEY
    在现有的KEY中随机返回一个
●RENAME KEY NEWKEY
    重命名一个KEY,NEWKEY不管是否是已经存在的都会执行,如果NEWKEY已经存在则会被覆盖。
●RENAMENX KEY NEWKEY
    只有在NEWKEY不存在时能够执行成功,否则失败
●TTL KEY
    以秒为单位查看KEY还能存在多长时间
●EXPIRE KEY SECONDS
    给一个KEY设置在SECONDS秒后过期,过期会被Redis移除。
●PERSIST KEY
    移除过期时间,变成永久key

在这里插入图片描述

String简单操作

●SET KEY VALUE [EX SECONDS] [PX MILLISECONDS] [NX|XX]
    给KEY设置一个string类型的值。
    EX参数用于设置存活的秒数。
    PX参数用于设置存活的毫秒数。
    NX参数表示当前命令中指定的KEY不存在才行。
    XX参数表示当前命令中指定的KEY存在才行。
●GET KEY
    根据key得到值,只能用于string类型。
●APPEND KEY VALUE
    把指定的value追加到KEY对应的原来的值后面,返回值是追加后字符串长度
●STRLEN KEY
    直接返回字符串长度
●INCR KEY
    自增1
●DECR KEY
    自减1
●INCRBY KEY INCREMENT
    原值+INCREMENT
●DECRBY KEY DECREMENT
    原值-DECREMENT
●GETRANGE KEY START END
    从字符串中取指定的一段
●SETRANGE KEY OFFSET VALUE
    从offset开始使用VALUE进行替换
●SETEX KEY SECONDS VALUE
    设置KEY,VALUE时指定存在秒数
●SETNX KEY VALUE
    新建字符串类型的键值对
●MSET KEY VALUE [KEY VALUE ...]
    一次性设置一组多个键值对
●MGET KEY [KEY ...]
    一次性指定多个KEY,返回它们对应的值,没有值的KEY返回值是(nil)
●MSETNX KEY VALUE [KEY VALUE ...]
    一次性新建多个值
●GETSET KEY VALUE
    设置新值,同时能够将旧值返回

list简单操作

●LPUSH key value [value ...]
●RPUSH key value [value ...]
●LRANGE key start stop
    根据list集合的索引打印元素数据
    正着数:0,1,2,3,...
    倒着数:-1,-2,-3,...
●LLEN key
●LPOP key
    从左边弹出一个元素。
    弹出=返回+删除。
●RPOP key
    从右边弹出一个元素。
●RPOPLPUSH source destination
    从source中RPOP一个元素,LPUSH到destination中
●LINDEX key index
    根据索引从集合中取值
●LINSERT key BEFORE|AFTER pivot value
    在pivot指定的值前面或后面插入value
●LPUSHX key value
    只能针对存在的list执行LPUSH
●LREM key count value
    根据count指定的数量从key对应的list中删除value
●LSET key index value
    把指定索引位置的元素替换为另一个值
●LTRIM key start stop
    仅保留指定区间的数据,两边的数据被删除

set简单操作

●SADD key member [member ...]
●SMEMBERS key
●SCARD key
    返回集合中元素的数量
●SISMEMBER key member
    检查当前指定member是否是集合中的元素
●SREM key member [member ...]
    从集合中删除元素
●SINTER key [key ...]
    将指定的集合进行“交集”操作
    集合A:a,b,c
    集合B:b,c,d
    交集:b,c
●SINTERSTORE destination key [key ...]
    取交集后存入destination
●SDIFF key [key ...]
    将指定的集合执行“差集”操作
    集合A:a,b,c
    集合B:b,c,d
    A对B执行diff:a
    相当于:A-交集部分
●SDIFFSTORE destination key [key ...]
●SUNION key [key ...]
    将指定的集合执行“并集”操作
    集合A:a,b,c
    集合B:b,c,d
    并集:a,b,c,d
●SUNIONSTORE destination key [key ...]
●SMOVE source destination member
    把member从source移动到destination
●SPOP key [count]
    从集合中随机弹出count个数量的元素,count不指定就弹出1个
●SRANDMEMBER key [count]
    从集合中随机返回count个数量的元素,count不指定就返回1个
●SSCAN key cursor [MATCH pattern] [COUNT count]
    基于游标的遍历

Hash简单操作

●HSET key field value
●HGETALL key
●HGET key field
●HLEN key
●HKEYS key
●HVALS key
●HEXISTS key field
●HDEL key field [field ...]
●HINCRBY key field increment
●HMGET key field [field ...]
●HMSET key field value [field value ...]
●HSETNX key field value

zset操作

●ZADD key [NX|XX] [CH] [INCR] score member [score member ...]
●ZRANGE key start stop [WITHSCORES]
●ZCARD key
●ZSCORE key member
●ZINCRBY key increment member
●ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
    在分数的指定区间内返回数据
●ZRANK key member
    先对分数进行升序排序,返回member的排名
●ZREM key member [member ...]
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值