学习笔记-Redis
发表于|更新于
|阅读量:
数据类型
Redis是以key-value的形式存储数据的。key无论如何都是字符串类型,Value支持如下的五种数据类型
- 字符串(String)
- 哈希(Hash)
- 列表(list)
- 无序集合(sets)
- 有序集合(sorted sets)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| --- String(字符串) 格式: key value 示例: name lnj
--- Hash(哈希) 格式: key field value 示例: user name lnj user age 33 user gender man user ... ... hash就相当于编程开发中的Map或者对象 注意点: Hash是无序的
--- List(列表) list就相当于编程开发中的链表或者数组 格式: key value1 value2 value3 示例: names lnj zs ls ww 注意点: list是有序的
--- Set(集合) 键是String, 值set 一堆无序的数据 注意点: 存储的数据不能重复
--- Zset(有序集合)。 一堆有序的数据, 通过权重和实现排序 注意点: 存储的数据不能重复
|
数据库
默认情况下Redis给我们创建了16个数据库(0~15),如果使用的时候没有明确的选中使用哪个数据库, 那么默认使用第0个。
字符串操作
基本的增删改查
1 2 3 4 5 6 7 8 9 10 11
| - 新增 set set key value
- 查询 get get key
- 修改 set 如果key已经存在就是修改 set key value
- 删除 del del key
|
set默认不管key是否存在都设置(不存在就新增, 存在就覆盖)
setnx 只有key不存在才设置(新增) (not exit)
xx 只有key存在才设置(更新)
1 2
| setnx key value set key value xx
|
mset批量设置; mget 批量查询
1 2 3 4 5
| mset key value key value... mset name lnj age 98 score 100
mget key key key... mget name age score
|
其他操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| set key abc123 ---------------------------------
- 设置新值返回旧值 getset key newValue
- 给旧值追加数据 append key value //abc123value
- 计算value字符串长度 strlen key //6
- 获取指定下标范围的值 getrange key start end //getrange key 0 1 返回ab
- 从指定下标开始设置字符串的值 setrange key offset value //setrange key 1 666 返回 a66623
|
字符串自增自减