1.1插入3对字符串类型的键值对
127.0.0.1:6379> set hello world OK 127.0.0.1:6379> set xg xiaoge OK 127.0.0.1:6379> set java jedis OK1.2 keys * 命令将所有的键输出
127.0.0.1:6379> keys * 1) "hello" 2) "java" 3) "xg"dbsize 2.1插入一个列表类型的键值对(值是多个元素组成)
127.0.0.1:6379> rpush xglist 1 2 3 4 5 (integer) 5 #查看所有键 keys * 127.0.0.1:6379> keys * 1) "hello" 2) "xglist" 3) "java" 4) "xg" #查看键的总数 dbsize 127.0.0.1:6379> dbsize (integer) 4注意:keys * 与dbsize的区别 dbsize命令在计算键总数时不会遍历所有键,而是直接获取Redis内置的键总数量,所以dbsize命令的时间复杂度是O(1)。而keys * 命令会遍历所有键,所以它的时间复杂度是O(n),当Redis保存了大量键时,线上环境禁止使用keys命令。
exists key 如果键存在则返回1,不存在返回0:
127.0.0.1:6379> exists hello (integer) 1 127.0.0.1:6379> exists redis (integer) 0del key [key …] del是一个通用命令,无论值是什么数据结构类型,del命令都可以将其删除。
127.0.0.1:6379> del java (integer) 1 127.0.0.1:6379> exists java (integer) 0 127.0.0.1:6379> del xglist (integer) 1 127.0.0.1:6379> exists xglist (integer) 0假设删除一个不存在的键,就会返回0:
127.0.0.1:6379> del not_exist_key (integer) 0del删除多个键
127.0.0.1:6379> set a 1 OK 127.0.0.1:6379> set b 2 OK 127.0.0.1:6379> set c 3 OK 127.0.0.1:6379> keys * 1) "c" 2) "b" 3) "hello" 4) "xg" 5) "a" 127.0.0.1:6379> del a b c (integer) 3 127.0.0.1:6379> keys * 1) "hello" 2) "xg"expire key seconds Redis支持对键添加过期时间,当超时过期时间后,会自动删除键。 ttl ttl命令会返回键的剩余过期时间,它有3种返回值:
大于等于0的整数:键剩余的过期时间 -1:键没有设置过期时间 -2:键不存在
127.0.0.1:6379> set java redis OK 127.0.0.1:6379> ttl java (integer) -1 #键没有设置过期时间 127.0.0.1:6379> ttl not_exist_key (integer) -2 #键不存在 127.0.0.1:6379> expire java 10 (integer) 1 #添加过期时间为10秒 127.0.0.1:6379> ttl java (integer) 7 #还剩7秒过期 127.0.0.1:6379> ttl java (integer) -2 #java键已经被删除type key 如果key存在,返回对应的类型:string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合) 如果key不存在,则返回none
127.0.0.1:6379> rpush xglist a b c d (integer) 4 127.0.0.1:6379> keys * 1) "xglist" 2) "hello" 3) "xg" 127.0.0.1:6379> type xglist list 127.0.0.1:6379> type xg string 127.0.0.1:6379> type not_exist_key noneobject encoding key
127.0.0.1:6379> object encoding xg "embstr" 127.0.0.1:6379> object encoding xglist "ziplist"数据结构和内部编码 每种数据结构都有自己的内部编码实现,而且是多种实现,这样Redis会在合适的场景选择合适的内部编码 Redis的5种数据结构 Redis数据结构和内部编码