一、启动redis
(1)启动服务
cd redis目录
redis-server.exe redis.windows.conf
(2)进入终端
cd redis目录
-》redis-cli
(3) 如果当前redis存在密码
-》 auth '密码'
二、redis数据库值的类型
- 字符串 String
- 哈希 hash
- 列表 list
- 集合 set
- 有序集合 zset
redis数据库 有16个库
1 string字符串
概述:string是reids 的最基本的数据类型 最大存储512M
key 对应 一个value
(1)设置键值
set key value eg:set name zhangsan
(2)设置键值并设置过期时间
setex key 时间 value eg:setex age 10 8 #设置过期时间十秒
查看过期时间
ttl key eg:ttl age
(4)在key不存在时 则设置键值对
setnx key value
(5)设置多个键值
mset key value key value
(6)获取一个值
get key
(7)获取多个值
mget k1 k2......
(8)设置新值 并将旧值返回
getset key value
(9)将值+1
incr key
(10)将值减1
decr key
(11)将对应的key加整数
incrby key num
(12)将对应的key减整数
decrby key num
(13)追加值
append key value
(14)获取值得长度
strlen key
(15)获取所有的key
keys *
(16)获取某个键名开头的所有key
key k*
(17)获取以某个以某个字符结尾的key
key *k
(18)判断某个key是否存在
exists key
(19)查看key对应值得类型
type key
(20)设置key的过期时间
expire key seconds
(21)查看key的过期时间
以毫秒返回 pttl key
(22)移除过期时间
persist key
(23)删除所有的key
flushdb 清除当前库的key flushall 清除所有库的key
(24)随机返回一个key
random key
二 hash
{
field1:v1,
field2:v2
...
复制代码
}
1.设置单个值
hset key field value
2.设置多个值
hmset key field1 v1 field v2...
3.为hash中的某个field添加增量increment
hincrby key field num
4.当field不存在的时候则设置值
hsetnx key field value
5.获取一个属性的值
hget key field
6.获取多个值
hmget key field1 field2...
7.获取所有的字段和值
hgetall key
8.获取所有的字段
hkeys key
9.获取所有的值
hvals key
10.返回字段的个数
hlen key
11.判断某个字段是否存在
hexists key field
12.删除字段和值
hdel key field...
三 列表
概述: 列表是一个简单的字符串列表 可以在列表的头部或者尾部插入内容
1.在头部插入值
lpush key value ...
2.在尾部插入
rpush key value...
3.为已存在的列表添加值
rpushx key value
4.在一个元素的前后插入新元素
linsert key before|after value value
5.设置指定索引元素的值
lset key index value
4 集合
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。
集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。
1.像集合添加一个或多个元素
SADD key member1 [member2]
2.获取集合的成员数
SCARD key
3.返回给定所有集合的差集
SDIFF key1 [key2]
4.返回给定所有集合的差集并存储在 destination 中
SDIFFSTORE destination key1 [key2]
5.返回给定所有集合的交集
SINTER key1 [key2]
6.返回给定所有集合的交集并存储在 destination 中
SINTERSTORE destination key1 [key2]
7.判断 member 元素是否是集合 key 的成员
SISMEMBER key member
8.返回集合中的所有成员
SMEMBERS key
9.将 member 元素从 source 集合移动到 destination 集合
SMOVE source destination member
10.移除并返回集合中的一个随机元素
SPOP key
11.返回集合中一个或多个随机数
SRANDMEMBER key [count]
12.移除集合中一个或多个成员
SREM key member1 [member2]
13.返回所有给定集合的并集
SUNION key1 [key2]
14.所有给定集合的并集存储在 destination 集合中
SUNIONSTORE destination key1 [key2]
15.迭代集合中的元素
SSCAN key cursor [MATCH pattern] [COUNT count]
5 有序集合
Redis 有序集合(sorted set) Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
有序集合的成员是唯一的,但分数(score)却可以重复。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。
1.向有序集合添加一个或多个成员,或者更新已存在成员的分数
ZADD key score1 member1 [score2 member2]
2.获取有序集合的成员数
ZCARD key
3.计算在有序集合中指定区间分数的成员数
ZCOUNT key min max
4.有序集合中对指定成员的分数加上增量 increment
ZINCRBY key increment member
5.计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 key 中
ZINTERSTORE destination numkeys key [key ...]
6.在有序集合中计算指定字典区间内成员数量
ZLEXCOUNT key min max
7.通过索引区间返回有序集合成指定区间内的成员
ZRANGE key start stop [WITHSCORES]
8.通过字典区间返回有序集合的成员
ZRANGEBYLEX key min max [LIMIT offset count]
9.通过分数返回有序集合指定区间内的成员
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT]
10.返回有序集合中指定成员的索引
ZRANK key member
11.移除有序集合中的一个或多个成员
ZREM key member [member ...]
12.移除有序集合中给定的字典区间的所有成员
ZREMRANGEBYLEX key min max
13.移除有序集合中给定的排名区间的所有成员
ZREMRANGEBYRANK key start stop
14.移除有序集合中给定的分数区间的所有成员
ZREMRANGEBYSCORE key min max
15.返回有序集中指定区间内的成员,通过索引,分数从高到底
ZREVRANGE key start stop [WITHSCORES]
16.返回有序集中指定分数区间内的成员,分数从高到低排序
ZREVRANGEBYSCORE key max min [WITHSCORES]
17.返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序
ZREVRANK key member
18.返回有序集中,成员的分数值
ZSCORE key member
19.计算给定的一个或多个有序集的并集,并存储在新的 key 中
ZUNIONSTORE destination numkeys key [key ...]
20.迭代有序集合中的元素(包括元素成员和元素分值)
ZSCAN key cursor [MATCH pattern] [COUNT count]