zoukankan      html  css  js  c++  java
  • redis学习笔记——(2)

    4.Redis中的string类型

    String类型是最简单的类型,一个Key对应一个Value,String类型是二进制安全的。Redis的String可以包含任何数据,比如jpg图片或者序列化的对象。

    存储string类型的键值对。一般形式:set key value; setnx key value; setex key time value

    setnx判断插入内容的键是否存在,若键不存在,返回1,成功插入;若存在,返回0,插入失败。如果不用setnx用set的话,若插入内容的键已经存在,那么此次插入的值将会覆盖原先的这个键对应的值。

    setex添加了value的存在时间time,当超过这个时间key所对应的value值将被清空,再查这个key将返回nil(即空)。

     setrange key num value0 将原先key对应的value下标num及其之后的数替换为value0,这里email原先为dyc40021@126.com。

    getrange key num0 num1 从key所对应value值的num0至num1处获取值。

    mset和mget是批量设置和获取,msetnx,msetex和setnx,setex大体功能相同。

    getset key value将原先key所对应value替换为现在的value,并返回显示原先的value。

     

     incr对key所对应的值进行自加操作,如果key不存在,则置key的值为1。

    decr对key所对应的值进行自减操作,如果key不存在,则置key的值为-1。

    incrby key num 对key所对应值进行加num操作,decrby同理。

     append key value0 在原先key说对应的value值后再加上value0,这里原先name = dyc 。

    strlen key 获得key所对应字符串的长度。

    5.Redis中的hash类型

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

    hset设置hash field为指定值,如果key不存在,则先创建;get方法相似。

    hsetnx设置hash field为指定值,如果key不存在,则先创建。如果存在返回0;get方法相似。

    hmset同时设置hash的多个field;get方法相似。

    hincrby指定的hashfield加上给定值。

    hexists测试指定field是否存在。

    hlen返回指定hash的field数量。

    hdel删除指定hash的field。

    hkeys返回hash的所有field。

    hvalues返回hash的所有value。

    hgetall获取某个hash中全部的field和value。

    6.Redis中的list类型

    List是一个链表结构,主要功能是push,pop,获取一个范围的所有值等等,操作中Key理解为链表的名字。Redis的list类型其实就是一个每个子元素都是string类型的双向链表。我们可以通过puth,pop操作从链表的头部或者尾部添加删除元素,这样list既可以作为栈,又可以作为队列。

    lpush list value 从头部向list中压入数据。

    rpush list value 从尾部向list中压入数据。

    linsert list before value0 value1 在value0之前插入value1。

    lrange list 0 -1 从头到尾打印出list的数据。

    lrem list num value0 从list中删除num个value0,从头部开始删。

    ltrim list num0 num1 保留list中第num0和num1的数据(有第0个元素),删除其他的。

    lpop list 从list头部弹出一个数据。

    rpop list 从list尾部弹出一个数据。

    rpoplpush list1 list2 从list1尾部中弹出一个数据存入list2头部,并返回这个存入的数据。

  • 相关阅读:
    Datawhale编程实践(LeetCode 腾讯精选练习50)Task11
    Datawhale编程实践(LeetCode 腾讯精选练习50)Task10
    Datawhale编程实践(LeetCode 腾讯精选练习50)Task9
    Datawhale编程实践(LeetCode 腾讯精选练习50)Task8
    Datawhale编程实践(LeetCode 腾讯精选练习50)Task7
    Java多线程之三volatile与等待通知机制示例
    Java多线程之一
    [WC2021] 括号路径
    [CF1375H] Set Merging
    [CF1342E] Placing Rooks
  • 原文地址:https://www.cnblogs.com/dyc-cfc/p/4262763.html
Copyright © 2011-2022 走看看