Redis非关系型数据库
Redis有16个数据库 0-15
因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。
- String: 字符串
- Hash: 散列
- List: 列表
- Set: 集合
- Sorted Set: 有序集合
key
key用于管理redis的键
得到所有key的名字
切换数据库
添加key
set key的name key的值
例: set name 张三 一个key叫name值为张三的键值对
|
删除key
给key设置过期时间
--如一天后消息自动删除 expire key的名字 秒
例: expire name 10
|
返回key的剩余时间
当给key设置过期时间时可以查询还剩的生存时间 ttl key的名字
例: ttl name 返回的时时间秒
|
随机返回一个key
修改key的名字
rename key的name 新名字
例: rename name name2 把key为name的改成name2
|
(字符串)String
设置key的值
set key的名字 value
例: set name 测试
|
获取指定key的值
获取key的字符串长度
strlen key的名字
例: strlen name
|
数字值增1
incr key的名字
例:age=10 incr age
|
数字值减1
decr key的名字
例:age=11 decr age
|
数字增加定量的值
incrby key 增加多少
例: incrby age 5
|
数字减少定量的值
decrby key 减少多少
例: decrby key 5
|
(哈希)Hash
添加一个
hset key的名字 属性 值
例: hset lang 1 java
|
一次添加多个
hmset key的名字 属性1 值1 属性2 值2 ...
例:1、2、3属于属性 可以不是数字 随便名字 hmset lang2 1 java 2 C# 3 javascript
|
显示所有key的属性
显示所有key的值
获取给定属性的值
hget key 属性
例:1是属性 也可以是其他的属性 hget lang2 1
|
获取多少给定属性的值
hmget key 属性1 属性2
例:1 2 3为内容的属性 可以是其他的 hmget lang2 1 2 3
|
删除指定属性值
hdel key 属性
例:删除属性1的java hdel lang2 1
|
删除多个给定属性值
hdel key 属性1 属性2
例:删除c++ javascript hdel lang2 1 2
|
(列表)List
头部添加
lpush key value1 || value1 value2
例: lpush calss c1 c2 .. || c1
|
尾部添加
rpush key value1 || value1 value2
例: rpush class c1 || c2 c3 ..
|
获取list的长度
通过索引获取元素
lindex key index
例: lindex class 1
|
获取列表指定范围
lrange key start stop
例: lrange class 0 2
|
移除左边并获取第一个元素
lpop key
例: 移除左边第一个 并获取移除后的第一个 lpop class
|
移除右边并且获取第一个元素
rpop key
例: 移除右边第一个 并获取移除后的第一个 rpop class
|
(集合)Set
添加元素
sadd key 值1 值2
例: sadd se1 cf1 cf2 cf3 cf4 || cn(一个)
|
移除元素
srem key 值1
例: srem se1 cf1
|
移除并返回一个随机元素
返回集合的所有元素
smembers key
例: smembers se1
|
差集
sdiff key1 key2
例: sdiff se1 se2
|
交集
sinter key1 key2
例: sinter se1 se2
|
并集
sunion key1 key2
例: sunion se1 se2
|
(有序集合)Sorted set
添加一个
zadd key 属性 值
例: zadd key 1 c++
|
添加多个
zadd key 属性1 值1 属性2 值2
例: zadd key 1 c++ 2 java
|
返回范围内成员
ZRANGE key 0 10 WITHSCORES
例: zrange sort 0 10 withscores
|