redis数据类型及常用命令

redis数据类型

  • String(字符串)
    String是redis最基本的类型,你可以理解成和Memcached一模一样的类型,一个key对应一个value,
    String类型是二进制安全的,意思是redis的String可以包含任何数据,比如jpg图片或者序列化的对象
    String类型是redis最基本的数据类型,一个redis中字符串value最多可以是512M
  • Hash 哈希(类似java中的 Map)
    redis hash 是一个键值对集合。
    redis hash 是一个string类型的key和value的映射表,hash特别适用于存储对象
    类似java里边的Map<String,Object>
  • .List(列表)
    redis列表是简单的字符串列表,按照插入顺序排序,你可以添加一个元素到列表的头部(左边) 或者尾部(右边),它的底层实际是个链表
  • Set(集合)
    redis的set是string类型的无序集合,它是通过HashTable实现的
  • Zset(sorted set:有序集合)
    redis zset 和 set一样也是string类型元素的集合,且不允许重复的成员。
    不同的是每个元素都会关联一个double类型的分数
    redis正是通过这个分数来为集合中的成员进行从小到大排序,zset的成员是唯一的,但分数(score)却可以重复。

redis 键(key)常用命令:

keys*	//查看所有的key
exists key的名字		//判断这个key是否存在
move key db		//在当前库移除这个key
expire key 秒钟		//为指定的key设置过期时间
ttl key		//查看还有多少秒过期,-1表示永不过期,-2标识已过期
type key		//查看你的key是什么类型

redis各种类型的常用命令介绍:

Redis字符串(Stirng)(单值单value):
  • get,set,append,strlen
    获取某个key的值,设置某个key的值,向某个key后边添加元素,key的长度
  • incr key 将key加一(一定要是数字才能进行加减)
    incr结果
  • decr key 将key减一
    decr结果
  • incrby key increment 将key加increment
    incr increment结果
  • decrby key increment 将key减increment
    decr increment结果
  • getrange/setrange(范围内取值/范围内设置值 (左闭右闭))
    getrange结果
    setrange结果
  • setex(set with expire)设置带过期时间的key
    setnx(set is not exist)如果这个key不存在的话就设置

    setex结果
  • mset/mget/msetnx
    mset结果
  • getset(先get在set)
    getset结果
Redis列表(List)(单值多value):
  • lpush/rpush/lrange
    lpush结果
  • lpop/rpop(头/尾 弹出元素)
    lpop/rpop结果
  • lindex,按照索引下标获得元素(从上到下)
    lindex结果
  • llen(长度)
    llen结果
  • lrem key count value(批量删除key中的count个value)
    lrem结果
  • ltrim key start stop(截取key 从start到stop 左闭右闭 并重新赋值给key)
    ltrim结果
  • rpoplpush source destination(从源元素底部弹出一个元素放到目标元素头部上)
    rpoplpush结果
  • lset key index value(将索引上的值改成value)
    lset结果
  • linsert key BEFORE|AFTER pivot value(在指定值的前或后添加value)
    linsert结果
    性能总结
  • 他是一个字符串链表,left right都可以插入添加
  • 如果键不存在,创建新的链表
  • 如果键存在,添加新的内容
  • 如果值全移除,对应的键也就消失了
  • 链表的操作无论头或尾部效率都极高,加入对中间元素进行操作,效率就惨淡了。
Redis集合(Set 单值多value)
  • sadd/smembers/sismember
    sadd结果
  • scard key (获取集合里面的元素个数)
    scard结果
  • srem key value (删除集合中的指定value)
    srem结果
  • srandmember count(随机取出count个值)
    srandmember结果
  • spop key (随机出栈一个元素)
    spop结果
  • smove key1 key2 value(将key1里面的value移到keys中)
    smove结果
Redis哈希(Hash)(kv模式不变,但v是一个键值对)
  • hset/hget/hmset/hmget/hgetall/hdel
    hset结果
  • hlen key(这个key中有多少个键值对)
    hlen结果
  • hexists key field(判断key中有没有指定的field)
    hexists结果
  • hkeys key/kvals key(获取指定key里面的key/获取指定key里面的value)
    hkeys结果
  • hincrby/hincybyfloat
    hincryby结果
  • hsetnx key filed value(如果key中的filed不存在就设置进去)
    hsetnx结果
Redis有序集合Zset(sorted set)
  • zadd:时间复杂度O(Mlog(N)),M为添加的member数量,N为Sorted Set中的member数量
  • zrange
    zadd/zrange结果
  • zrangebyscore key min max (按照排序的号来筛选)
    zrangebyscore结果
  • zrangebyscore key min max limit 开始下标 多少步
    zrangebyscore+limie结果
  • zrem key value 删除某个value
    zrem结果
  • zcard 获取个数
    zcard结果
  • zcount key min max (获取一个区间的分数的数量)
    zcount结果
  • zscore key value(拿到指定key中的value的分数)
    zscore结果
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值