redis学习之——五大基本数据类型

redis 键 (key)

基本数据类型:string 字符串  list (列表)  set(集合)  hash(类似java 中的Map)   zset(有序集合)  

 官方命令doc

redis 键 (key)

 keys *

 exists key的名字,判断某个key是否存在

 move key db:当前库就没有了,被移除了

 expire key 秒钟:为给定的key设置过期时间

 ttl key 查看还有多少秒过期,-1表示永不过期,-2表示已过期

 type key 查看你的key是什么类型

redis学习之——五大基本数据类型_第1张图片

一、string 字符串  

String(字符串)
string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。
string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或用者序列化的对象 。
string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M

命令:set:设置key-value

        get:获取key的 val

        del: 删除

       append 追加val

      strlen: 判断长度

redis学习之——五大基本数据类型_第2张图片
redis学习之——五大基本数据类型_第3张图片

命令:Incr:数字的递增 decr 数字的递减  incrby 每次按几递增  decrby每次按几递减

redis学习之——五大基本数据类型_第4张图片
redis学习之——五大基本数据类型_第5张图片

命令 getrange  setrange
getrange:获取指定区间范围内的值,类似between......and的关系
从零到负一表示全部
setrange 设置指定区间范围内的值,格式是setrange key值 具体值redis学习之——五大基本数据类型_第6张图片

 命令  setex(set with expire)键秒值/setnx(set if not exist)


setex:设置带过期时间的key,动态设置。setex 键 秒值 真实值
setnx:只有在 key 不存在时设置 key 的值。

redis学习之——五大基本数据类型_第7张图片

命令mset/mget/msetnx

mset:同时设置一个或多个 key-value 对。
mget:获取所有(一个或多个)给定 key 的值。
msetnx:同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。redis学习之——五大基本数据类型_第8张图片

命令getset(先get再set)
getset:将给定 key 的值设为 value ,并返回 key 的旧值(old value)。
简单一句话,先get然后立即set

列表(list)

 lpush    rpush     lrange

redis学习之——五大基本数据类型_第9张图片

 lpop     rpop    lindex,按照索引下标获得元素(从上到下)    llen :list长度

redis学习之——五大基本数据类型_第10张图片redis学习之——五大基本数据类型_第11张图片

 lrem key 删N个value

redis学习之——五大基本数据类型_第12张图片

 ltrim key 开始index 结束index,截取指定范围的值后再赋值给key    (ltrim:截取指定索引区间的元素,格式是ltrim list的key 起始索引 结束索引)

 rpoplpush 源列表 目的列表(移除列表的最后一个元素,并将该元素添加到另一个列表并返回)

redis学习之——五大基本数据类型_第13张图片
redis学习之——五大基本数据类型_第14张图片

 lset key index value

 linsert key  before/after 值1 值2 (在list某个已有值的前后再添加具体值)

redis学习之——五大基本数据类型_第15张图片
redis学习之——五大基本数据类型_第16张图片

集合(set)

 sadd 添加set集合    smembers  查看集合元素    sismember查看集合是否存在

 scard 获取集合里面的元素个数

 srem key value  删除集合中元素

redis学习之——五大基本数据类型_第17张图片
redis学习之——五大基本数据类型_第18张图片

 srandmember key 某个整数(随机出几个数)  (

 *   从set集合里面随机取出2个 *   如果超过最大数量就全部取出, *   如果写的值是负数,比如-3 ,表示需要取出3个,但是可能会有重复值。)

redis学习之——五大基本数据类型_第19张图片

 spop key 随机出栈

 smove key1 key2 在key1里某个值      作用是将key1里的某个值赋给key2

redis学习之——五大基本数据类型_第20张图片
redis学习之——五大基本数据类型_第21张图片

差集:sdiff

交集:sinter

并集:sunion

redis学习之——五大基本数据类型_第22张图片

 哈希(Hash)

 hset   设置单个Hash键值  get    获取单个Hash键值    hmset  设置多个Hash键值      hmget 获取多个Hash键值  

 hgetall 获取全部   hlen  hash长度

redis学习之——五大基本数据类型_第23张图片
redis学习之——五大基本数据类型_第24张图片

 hexists key 在key里面的某个值的key

 hkeys   获取hash key    hvals  获取hash value

redis学习之——五大基本数据类型_第25张图片

 hincrby (hash值按几增涨)    hincrbyfloat(按小数:如0.5增涨)

 hsetnx  不存在赋值,存在了无效。

 redis学习之——五大基本数据类型_第26张图片

有序集合Zset(sorted set)

 zadd/zrange

redis学习之——五大基本数据类型_第27张图片

 zrangebyscore key 开始score 结束score

 zrevrangebyscore  key 结束score 开始score  (zrevrangebyscore zset1 90 60 withscores    分数是反着来的)

redis学习之——五大基本数据类型_第28张图片
redis学习之——五大基本数据类型_第29张图片

 zrem key 某score下对应的value值,作用是删除元素

(

 删除元素,格式是zrem zset的key 项的值,项的值可以是多个
 zrem key score某个对应值,可以是多个值
)

redis学习之——五大基本数据类型_第30张图片

 zcard/zcount key score区间/zrank key values值,作用是获得下标值/zscore key 对应值,获得分数(

zcard :获取集合中元素个数
zcount :获取分数区间内元素个数,zcount key 开始分数区间 结束分数区间
zrank: 获取value在zset中的下标位置
zscore:按照值获得对应的分数

)

redis学习之——五大基本数据类型_第31张图片

 zrevrank key values值,作用是逆序获得下标值 (正序、逆序获得下标索引值)

 zrevrange   获取逆转结果

                  注意:这只是一些常用命令,其他的大家自行到官方doc学习

你可能感兴趣的:(redis,redis,学习,缓存,java,数据库)