这几天学习Redis,把自己的学习内容记录下来,方便以后使用的时候查看
1. 什么是Redis
Redis 是使用C语言开发的一个开源的高性能键值对(Key-value)的NoSql类型的数据库,Redis通过提供多种键值数据类型来适应不同场景下的存储需求。官网下载后的程序解压后就可以使用了,程序中的主要部分包括服务端和客户端。启动redis-server.exe后,我们再打开redis-cli.exe,在客户端控制台可以简单学习Redis的基本命令。
Redis的基本数据类型
(1) 字符串类型:String
(2) 哈希类型:Hash map格式
(3) 列表类型:list linkedlist格式,支持重复元素
(4) 集合类型:set 不允许重复元素
(5) 有序集合类型:sortedset (或zset) 不允许重复元素,且元素有顺序
Redis应用场景
- 缓存(数据查询,短连接,新闻内容,商品内容等等)
- 聊天室的在线聊天列表
- 任务队列
- 应用排行榜
- 网站访问统计
- 数据过期处理
- 分布式集群架构中的session分离
2. 使用
String类型
- 增加:set key value
127.0.0.1:6379> set name Emon
OK
127.0.0.1:6379> set age 28
OK
- 查询: get key
127.0.0.1:6379> get name
"Emon"
- 删除 : del key
127.0.0.1:6379> del age
(integer) 1
Hash 类型
- 增加: hset key field value
127.0.0.1:6379> hset myHash username EmonH
(integer) 1
127.0.0.1:6379> hset myHash pwd 123
(integer) 1
- 查询: hget key field
127.0.0.1:6379> hget myHash username
"EmonH"
- 查询所有 : hgetall key
127.0.0.1:6379> hgetall myHash
- "username"
- "EmonH"
- "pwd"
- "123"
- 删除 : hdel key field
127.0.0.1:6379> hdel myHash pwd
(integer) 1
list类型,可以添加一个元素到列表的头部(左边)或者尾部(右边)
- 从头部增加: lpush key value
127.0.0.1:6379> lpush myList a
(integer) 3
127.0.0.1:6379> lpush myList b
(integer) 4
127.0.0.1:6379> lpush myList c
(integer) 5
- 从尾部增加:
rpush key value
127.0.0.1:6379> rpush myList a
(integer) 6
127.0.0.1:6379> rpush myList b
(integer) 7
127.0.0.1:6379> rpush myList c
(integer) 8
3.查询
lrange key start end:范围获取
127.0.0.1:6379> lrange myList 0 4
- "c"
- "b"
- "a"
- "a"
- "b"
4.查询所有 lrange key 0 -1
127.0.0.1:6379> lrange myList 0 -1
- "c"
- "b"
- "a"
- "a"
- "b"
- "c"
- 删除
从左侧删除 lpop key;从右侧删除 rpop key
127.0.0.1:6379> lpop myList
"c"
127.0.0.1:6379> rpop myList
"c"
集合类型 set
- 增加 sadd key value
127.0.0.1:6379> sadd mySet 1
(integer) 1
127.0.0.1:6379> sadd mySet 2
(integer) 1
127.0.0.1:6379> sadd mySet 3
(integer) 1
- 查询 smembers key
127.0.0.1:6379> smembers mySet
- "1"
- "2"
- "3"
- 删除 srem key value
127.0.0.1:6379> srem mySet 1
(integer) 1
sortedset 类型
- 增加 : zadd key score value(根据score的大小排序)
127.0.0.1:6379> zadd mySort 1 tangseng
(integer) 1
127.0.0.1:6379> zadd mySort 2 wukong
(integer) 1
- 查询 zrange key start end , 查询所有 zrange key 0 -1,连同排序号一起查询 zrange key start end withscore
127.0.0.1:6379> zrange mySort 0 2
- "wukong"
- "tangseng"
127.0.0.1:6379> zrange mySort 0 -1- "wukong"
- "tangseng"
127.0.0.1:6379> zrange mySort 0 2 withscores- "wukong"
- "2"
- "tangseng"
- "3"
- 删除: zrem key value
127.0.0.1:6379> zrem mySort wukong
(integer) 1
通用命令
- keys * : 查询所有键
- type key : 获取键对应的类型
- del key : 删除指定的key-value
- flushall : 清空所有数据
127.0.0.1:6379> keys *
- "mySort"
- "myHash"
- "username"
- "myset"
- "name"
- "myList"
- "myhash"
- "password"
- "mysort"
- "mySet"
127.0.0.1:6379> type mysort
zset
127.0.0.1:6379> del mysort
(integer) 1
网友评论