Redis是以键值对形式进⾏数据存储的,但是value⽀持多种数据类型
## 设置值/修改值 (如果key存在则进⾏修改) set key value ## 取值 get key ## 批量添加 mset k1 v1 [k2 v2 k3 v3 ...] ## 批量取值 mget k1 [k2 k3...] ## ⾃增和⾃减 incr key ## 在key对应的value上⾃增 +1 decr key ## 在key对应的value上⾃减 -1 incrby key v ## 在key对应的value上+v decrby key v ## 在key对应的value上-v ## 添加键值对,并设置过期时间(TTL) setex key time(seconds) value ## 设置值,如果key不存在则成功添加,如果key存在则添加失败(不做修改操作) setnx key value ## 在指定的key对应value拼接字符串 append key value ## 获取key对应的字符串的⻓度 strlen key
## 向key对应的hash中添加键值对 hset key field value ## 从key对应的hash获取field对应的值 hget key field ## 向key对应的hash结构中批量添加键值对 hmset key f1 v1 [f2 v2 ...] ## 从key对应的hash中批量获取值 hmget key f1 [f2 f3 ...] ## 在key对应的hash中的field对应value上加v hincrby key field v ## 获取key对应的hash中所有的键值对 hgetall key ## 获取key对应的hash中所有的field hkeys key ## 获取key对应的hash中所有的value hvals key ## 检查key对应的hash中是否有指定的field(有:1 无:0) hexists key field ## 获取key对应的hash中键值对的个数 hlen key ## 向key对应的hash结构中添加f-v,如果field在hash中已经存在,则添加失败 hsetnx key field value
## 存储数据 lpush key value # 在key对应的列表的左侧添加数据value rpuhs key value # 在key对应的列表的右侧添加数据value 3.5 set常⽤指令 ## 获取数据 lpop key # 从key对应的列表的左侧取⼀个值 rpop key # 从key对应的列表的右侧取⼀个值 ## 修改数据 lset key index value #修改key对应的列表的索引位置的数据(索引从左往右,从0开始) ## 查看key对应的列表中索引从start开始到stop结束的所有值 lrange key start stop ## 查看key对应的列表中index索引对应的值 lindex key index ## 获取key对应的列表中的元素个数 llen key ## 从key对应的列表中截取key在[start,stop]范围的值,不在此范围的数据⼀律被清除掉 ltrim key start stop ## 从k1右侧取出⼀个数据存放到k2的左侧 rpoplpush k1 k2
## 存储元素 :在key对应的集合中添加元素,可以添加1个,也可以同时添加多个元素 sadd key v1 [v2 v3 v4...] ## 遍历key对应的集合中的所有元素 smembers key ## 随机从key对应的集合中获取⼀个值(出栈) spop key ## 交集 sinter key1 key2 ## 并集 sunion key1 key2 ## 差集 sdiff key1 key2 ## 从key对应的集合中移出指定的value srem key value ## 检查key对应的集合中是否有指定的value sismember key value
## 存储数据(score存储位置必须是数值,可以是float类型的任意数字;member元素不允许重复) zadd key score member [score member...] ## 查看key对应的有序集合中索引[start,stop]数据——按照score值由⼩到⼤ (start 和 stop指的不是score,⽽是元素在有序集合中的索引) zrange key start top ##查看member元素在key对应的有序集合中的索引 zscore key member ## 获取key对应的zset中的元素个数 zcard key ## 获取key对应的zset中,score在[min,max]范围内的member个数 zcount key min max ## 从key对应的zset中移除指定的member zrem key member ## 查看key对应的有序集合中索引[start,stop]数据——按照score值由⼤到⼩ zrevrange key start stop
## 查看redis中满⾜pattern规则的所有的key(keys *) keys pattern ## 查看指定的key谁否存在 exists key ## 删除指定的key-value对 del key ## 获取当前key的存活时间(如果没有设置过期返回-1,设置过期并且已经过期返回-2) ttl key ## 设置键值对过期时间 expire key seconds pexpire key milliseconds ## 取消键值对过期时间 persist key
redis的键值对是存储在数据库中的——db
redis中默认有16个db,编号 0-15
## 切换数据库 select index ## 将键值对从当前db移动到⽬标db move key index ## 清空当前数据库数据 flushdb ## 清所有数据库的k-v flushall ## 查看当前db中k-v个数 dbsize ## 获取最后⼀次持久化操作时间 lastsave