redis 的基本认识

一、redis的基本特点

  • 1、数据持久化
  • 2、单进程、单线程
  • 3、redis其实就是一个存储在内存中的一个大json对象(字典)
  • 4、五大数据类型

    redis = {
      k1: "123", # 字符类型
      k2: [1, 2, 3, 4], # 列表类型
      k3: {1, 2, 3, 4}, # 集合
      k4: {name: "哈哈", age: 20}, # 字典类型
      k5: {("张三", 20), ("李四", 30)} # 有序集合
    }
    

二、常用的命令

命令 说明
keys * 查看全部的key
exists key名 检查一个key是否存在
expire key名 时间 设置key过期时间(秒)
pexpire key名 时间 设置key过期时间(毫秒)
del key名 删除一个key
randomkey 从数据库中随机返回一个key
rename key new_key 修改一个key的名字
type key名 获取当前key的数据类型

三、列表的操作

  • 1、在列表的左边添加元素

    lpush key value
    
  • 2、在列表的右边添加元素

    rpush key value
    
  • 3、查看列表中元素

    lrange key start stop
    
  • 4、移除列表中元素

    • 移除并返回列表头元素

      lpop key
      
    • 移除并返回列表尾元素

      rpop key
      
    • 移除并返回列表中中间元素

      lrem key count value # 将删除key这个列表中,count个值为value的元素
      
  • 5、指定返回第几个元素

    lindex key index
    
  • 6、获取列表中元素个数

    llen key
    
  • 7、删除列表中指定元素

    lrem key count value
    # count > 0:从表头开始向表尾搜索
    # count < 0:从表尾开始向表头搜索
    

四、集合的操作

  • 1、添加元素:

    sadd set value1 value2....
    如:
    sadd team xiaotuo datuo
    
  • 2、查看元素:

    smembers set
    如:
    smembers team
    
  • 3、移除元素:

    srem set member...
    如:
    srem team xiaotuo datuo
    
  • 4、查看集合中的元素个数:

    scard set
    如:
    scard team1
    
  • 5、获取多个集合的交集:

    sinter set1 set2
    如:
    sinter team1 team2
    
  • 6、获取多个集合的并集:

    sunion set1 set2
    如:
    sunion team1 team2
    
  • 7、获取多个集合的差集:

    sdiff set1 set2
    如:
    sdiff team1 team2
    

五、hash哈希操作

  • 1、添加一个新值:

    hset key field value
    如:
    hset website baidu baidu.com
    

    将哈希表key中的域field的值设为value。

如果key不存在,一个新的哈希表被创建并进行 HSET操作。如果域 field已经存在于哈希表中,旧值将被覆盖。

  • 2、获取哈希中的field对应的值:

    hget key field
    如:
    hget website baidu
    
  • 3、删除field中的某个field:

    hdel key field
    如:
    hdel website baidu
    
  • 4、获取某个哈希中所有的field和value:

    hgetall key
    如:
    hgetall website
    
  • 5、获取某个哈希中所有的field:

    hkeys key
    如:
    hkeys website
    
  • 6、获取某个哈希中所有的值:

    hvals key
    如:
    hvals website
    
  • 7、判断哈希中是否存在某个field:

    hexists key field
    如:
    hexists website baidu
    
  • 8、获取哈希中总共的键值对:

    hlen field
    如:
    hlen website
    

results matching ""

    No results matching ""