del key:key存在时删除key exists key:key是否存在 move key db:将当前数据库的key移动到指定的数据库db rename key newkey type key:返回key所存储的值的类型
String类型是二进制安全的,意思是redis的string可以包含任何数据,比如jpg图片或者序列化对象
一个key对应一个value
set course "java":设置指定key的值 mset key value key value:设置多个key/value对 get course:获取指定key的值 mget key1 key2:获取多个key的值 setnx key value:key不存在,设置key的值 del course:删除键对应的值 strlen key:key所存储的字符串值的长度 incr key:key存储的数据值加一 decr key:key存储的数字值减一 decrby key temp:key所存储的数字减去指定的值
redis列表是简单的字符串列表,按照插入顺序进行排序,可以添加一个元素到列表的头部或者尾部
lpush course redis lpush course java lpush course python lrange course 0 10
redis的hash是一个键值对集合,是一个string类型的field和value的映射表,hash特别适合用于存储对象
hset key field value hget key field1 hmset course field1 "java" field2 "python": hmget key value:获取所有给定的字段的值 hgetall course:获取哈希表中指定key的所有字段和值 hvals key:获取所有的值 hkeys key:获取所有哈希表中的字段 hdel key field1: hexists key field:哈希表key中,field字段是否存在 hlen key:获取哈希表中字段的数量
redis的set是string类型的无序集合
集合是通过哈希表实现的,所以添加,删除查找的复杂度都是O(1)
集合内元素的唯一性,第二次插入的元素将被忽略
//添加一个string元素到key对应的set集合中,成功返回1,如果元素已经在集合中返回0 //示例 sadd key member //实例 sadd course java sadd course python sadd course c smembers course
添加元素到集合,元素在集合中存在则更新对应的score
zadd key score member
zadd course 100 java zadd course 90 pyhton zadd course 80 c zRangeByScore course 0 100