五种数据类型
常用键(key)命令
del key:key存在时删除key
exists key:key是否存在
move key db:将当前数据库的key移动到指定的数据库db
rename key newkey
type key:返回key所存储的值的类型
String
概要
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所存储的数字减去指定的值
list
概要
redis列表是简单的字符串列表,按照插入顺序进行排序,可以添加一个元素到列表的头部或者尾部
lpush course redis
lpush course java
lpush course python
lrange course 0 10
常用命令
hash
概要
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:获取哈希表中字段的数量
set
redis的set是string类型的无序集合
集合是通过哈希表实现的,所以添加,删除查找的复杂度都是O(1)
集合内元素的唯一性,第二次插入的元素将被忽略
//添加一个string元素到key对应的set集合中,成功返回1,如果元素已经在集合中返回0
//示例
sadd key member
//实例
sadd course java
sadd course python
sadd course c
smembers course
常用命令
zset
添加元素到集合,元素在集合中存在则更新对应的score
zadd key score member
zadd course 100 java
zadd course 90 pyhton
zadd course 80 c
zRangeByScore course 0 100