Redis的单线程讲解与指令学习

目录

一.Redis的命令

二.数据类型

三.Redis的key的过期策略如何实现?

四.Redis为什么是单线程的

五.String有关的命令


        

 

Redis的学习专栏:http://t.csdnimg.cn/a8cvV

一.Redis的命令

两个基本命令 

      在Redis当中,有两个基本命令:get和set,顾名思义,获取和设置键值对。

SET命令:

        SET  key   value

GET命令:

        GET   key

注:如果key不存在,则返回一个nil  ;这个表示空值!如果返回的是二进制,启动Redis时,使用 redis  -cil  --raw  ;如此会自动转化

全局命令

        1.KEYS,查询当前服务器上匹配的key,类似MySQL的模糊查找,通过通配符来查找符合条件的key。老规矩:?匹配任意一个字符;*匹配0个字符或者多个字符;[ abcde ]表示只能匹配abcde;[^ a] 表示只有a不能匹配,其他都可以;[a-d]表示匹配a到d之间的字符。

注:这种时间复杂度为O(n);一般禁用key *;原因:redis是一个单线程服务器,执行时间太长会导致Redis服务器阻塞。

keys he[abdo]ll0

通用命令

        exists命令,判断key是否存在,返回key存在的个数!时间复杂度为O(1)

exist key1 key2  //判断是否存在key1和key2

        DEL命令,删除指定的key,可一次删除一个或者多个,时间复杂度为O(1),返回删除的个数

del hello hi

        EXPIRE命令,设置key的过期时间。超出存活时间,自动删除。单位为秒级,时间复杂度为O(1),返回1则是成功,0是失败。

expire hello second

        ttl命令,查询当前key的剩余存活时间,时间复杂度为O(1),返回剩余时间,-1则是没有关联的时间,-2key值不存在

ttl  hello

        TYPE命令,返回的KEY对应的数据类型,Redis所有的key都是String类型,但value却有很多类型。

type key1

字符串命令

        APPEND命令,在字符串键值末尾追加值

APPEND key value

        INCR命令,增加存储在键中的整数值

INCR key

        DECR命令,减少存储在键中的整数值

 DECR key

哈希操作命令   

  1. HSET key field value:在哈希表中设置字段的值。
  2. HGET key field:获取哈希表中指定字段的值。
  3. HDEL key field [field ...]:删除哈希表中一个或多个字段。
  4. HGETALL key:获取哈希表中所有字段和值。

列表操作命令

  1. LPUSH key value [value ...]:将一个或多个值插入到列表头部。
  2. RPUSH key value [value ...]:将一个或多个值插入到列表尾部。
  3. LPOP key / RPOP key:从列表头部或尾部弹出一个值。

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