文章目录
一、下载安装
1. 官网:https://redis.io
2. 中文网:http://www.redis.net.cn/
3. Windows 下载:https://github.com/dmajkic/redis/downloads
4. 解压直接可以使用:
* redis.windows.conf:配置文件
* redis-cli.exe:redis的客户端
* redis-server.exe:redis服务器端
二、命令解释
命令 | 含义 |
---|---|
keys * | 查看当前库所有key (匹配:keys *1) |
exists key | 判断某个key是否存在 |
type key | 查看你的key是什么类型 |
del key | 删除指定的key数据 |
unlink key | 根据value选择非阻塞删除,仅将keys从keyspace元数据中删除,真正的删除会在后续异步操作。 |
expire key 10 | 10秒钟:为给定的key设置过期时间 |
ttl key | 查看还有多少秒过期,-1表示永不过期,-2表示已过期 |
select | 命令切换数据库,默认0库,一共16个库 |
dbsize | 查看当前数据库的key的数量 |
flushdb | 清空当前库 |
flushall | 通杀全部库 |
三、常用命令
(1)set <key><value>
添加键值对
*NX:当数据库中key不存在时,可以将key-value添加数据库
*XX:当数据库中key存在时,可以将key-value添加数据库,与NX参数互斥
*EX:key的超时秒数
*PX:key的超时毫秒数,与EX互斥
(2)get <key>
查询对应键值
(3)append <key><value>
将给定的<value>
追加到原值的末尾
(4)strlen <key>
获得值的长度
(5)setnx <key><value>
只有在 key 不存在时 设置 key 的值
(6)incr <key>
将 key 中储存的数字值增1
只能对数字值操作,如果为空,新增值为1
(7)decr <key>
将 key 中储存的数字值减1
只能对数字值操作,如果为空,新增值为-1
(8)incrby / decrby <key><步长>
将 key 中储存的数字值增减。自定义步长。
(9)mset <key1><value1><key2><value2>
… 同时设置一个或多个 key-value对
(10)mget <key1><key2><key3>
…同时获取一个或多个 value
(11)msetnx <key1><value1><key2><value2>
… 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。原子性,有一个失败则都失败
(12)getrange <key><起始位置><结束位置>
,获得值的范围,类似java中的substring
,前包,后包
(13)setrange <key><起始位置><value>
用 <value>
覆写<key>
所储存的字符串值,从<起始位置>开始(索引从0开始)。
(14)setex <key><过期时间><value>
设置键值的同时,设置过期时间,单位秒。
(15)getset <key><value>
以新换旧,设置了新值同时获得旧值。
四、命令操作
1. Redis 的数据结构
redis 存储的是:key,value 格式的数据,其中 key 都是字符串,value 有 5 种不同的数据结构
* value的数据结构:
1) 字符串类型 string
2) 哈希类型 hash : map格式
3) 列表类型 list : linkedlist格式,支持重复元素
4) 集合类型 set : 不允许重复元素
5) 有序集合类型 sortedset:不允许重复元素,且元素有顺序
2. 字符串类型 string
1. 存储: set key value
2. 获取: get key
3. 删除: del key
3. 哈希类型 hash
1. 存储: hset key field value
2. 获取:
* hget key field: 获取指定的field对应的值
* hgetall key:获取所有的field和value
3. 删除: hdel key field
4. 列表类型 list
可以添加一个元素到列表的头部(左边)或者尾部(右边)
添加:
* lpush key value: 将元素加入列表左表
* rpush key value:将元素加入列表右边
获取:
* lrange key start end :范围获取
删除:
* lpop key: 删除列表最左边的元素,并将元素返回
* rpop key: 删除列表最右边的元素,并将元素返回
5. 集合类型 set
不允许重复的元素
存储:sadd key value
获取:smembers key:获取set集合中所有元素
删除:srem key value:删除set集合中的某个元素
6. 有序集合类型 sortedset
不允许重复元素,且元素有顺序,这里每个元素都会关联一个 double 类型的分数,redis 正是通过分数来为集合中的成员进行从小到大的排序。
存储:zadd key score value
获取:zrange key start end [withscores]
删除:zrem key value
7. 通用命令
keys * : 查询所有的键
type key : 获取键对应的value的类型
del key:删除指定的key value
flushall:清空缓存