Redis-key
1、String(字符串)
2、List(列表)
3、Set (集合)
4、Hash(哈希)
5、zset (有序集合)
6、geospatial
7、hyperloglog
8、bitmap 位图
NoSQL 开发中或多或少都会用到,也是面试必问知识点。
最近这几天的面试每一场都问到了,但是感觉回答的并不好,还有很多需要梳理的知识点,这里通过几篇 Redis 笔记整个梳理一遍。
Redis 的八大数据类型
官网可查看命令:http://www.redis.cn/commands.html
Redis-key
```java
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set name xxx
OK
127.0.0.1:6379> keys *
- "name"127.0.0.1:6379> set age 1
OK
127.0.0.1:6379> keys * - "age"2) "name"127.0.0.1:6379> exists name # 判断key 是否存在(integer) 1
127.0.0.1:6379> exists name1
(integer) 0
127.0.0.1:6379> move name 1
(integer) 1
127.0.0.1:6379> keys * - "age"127.0.0.1:6379> set name yyy
OK
127.0.0.1:6379> expire name 10 # 设置key的过期时间,单位是秒(integer) 1
127.0.0.1:6379> ttl name # 查看当前key的剩余过期时间(integer) 7
127.0.0.1:6379> ttl name
(integer) -2
127.0.0.1:6379> type age # 查看当前key的类型string
127.0.0.1:6379>
Redis 有以下 8 种数据类型
1、String(字符串)
127.0.0.1:6379> set key1 v1 #设置值OK
127.0.0.1:6379> get key1"v1"127.0.0.1:6379> append key1 "hello" # 追加值,如果不存在,相当于 set key(integer) 7
127.0.0.1:6379> get key1"v1hello"127.0.0.1:6379> strlen key1 # 获取字符串长度(integer) 7
127.0.0.1:6379>
自增、自减
127.0.0.1:6379> set views 0
OK
127.0.0.1:6379> get views"0"127.0.0.1:6379> incr views # 自增 1(integer) 1
127.0.0.1:6379> get views"1"127.0.0.1:6379> decr views # 自减 1(integer) 0
127.0.0.1:6379> decr views
(integer) -1
127.0.0.1:6379> get views"-1"127.0.0.1:6379> incrby views 10 # 设置步长、自增 10 (integer) 9
127.0.0.1:6379> decrby views 5 # 设置步长、自减 5(integer) 4
字符串范围
127.0.0.1:6379> set key1 "hello,world!"OK
127.0.0.1:6379> get key1"hello,world!"127.0.0.1:6379> getrange key1 0 3