redis基础
redis数据结构
redis存储的是key,value形式的数据,其中key都是字符串,value有以下5种数据类型
- string 字符串
- hash 哈希类型 map集合
- list 列表类型 有序、可重复
- set 集合类型 无序,不可重复
- sortedset 有序集合类型 不可重复,且元素有顺序。每个元素都会关联一个double类型的分数,通过该分数进行从小到大排序
redis常用命令
- string
- 存储: set key value
- 获取: get key
- 删除: del key 此命令所有类型通用
- hash
- 存储: hset key field value
- 获取:
- hget key field 获取指定的field谁对应的值
eg:hset myhash username
- hgetall key 获取所有的field和value
- hget key field 获取指定的field谁对应的值
- 删除: hdel key field
- list
- 存储
- lpush key value 将元素加入列表左边
- rpush key value 将元素加入列表右边
- 获取 lrange key start end 范围获取
- eg lrange myList 0 -1 表示查找从列表左边第一个到最后一个
- lrange mylist 1 -1 列表第二个到最后一个
- lrange mylist 1 9 列表第一个到第10个
- 删除
- lpop key 删除列表最左边的元素,并将元素返回
- rpop key 删除列表最右边的元素,并将元素返回
- 存储
- set 不允许重复
- 存储
sadd key value
- 获取
smembers key
获取set集合中所有的元素 - 删除
srem key value
删除set集合中的某个元素
- 存储
- sortedset
- 存储
zadd key score value
zadd mysort 60 zhangsan zadd mysort 50 list zadd mysort 80 wangwu
- 获取
zrange key start end [withscores]
- 删除
zrem key value
- 存储
- 通用命令
- key *: 查询所有的键
- type key: 获取键对应的value的类型
- del key :删除指定的key value
持久化
所谓的持久化就是将redis内存中数据存入磁盘中,redis有两种持久化机制,分别是RDB和AOF
- RDB (默认方式)在一定的间隔时间中,检测key的变化情况,然后持久化数据
- AOF 日志记录的方式,可以记录每一条命令的操作。可以每一次命令操作后,持久化数据