Redis入门
Redis简介
Redis是一个基于内存的 key-value 结构数据库。
基于内存存储,读写性能高
适合存储热点数据(热点商品、资讯、新闻)
企业应用广泛
启动Redis
在redis的文件目录下输入cmd,进入控制台
启动server服务
redis>redis-server.exe redis.windows.conf
启动客户端(需要另外开一个控制台)
redis-cli.exe
注意:默认是没有密码的,如需指定密码在开启客户端后输入一下代码
auth password(自己设置的密码)
Redis密码设置
在redis.windows.conf文件中将这里的注释解开,并设置密码,如下
Redis数据类型
字符串 string
普通字符串,Redis中最简单的数据类型
命令
SET key value ——设置指定key的值
GET key ——获取指定key的值
SETEX key seconds value ——设置指定key的值,并将 key 的过期时间设为 seconds 秒
SETNX key value ——只有在 key 不存在时设置 key 的值
示例
set name suave
get name
该字段在30s后过期
setex name 30 suave
setnx name suave
哈希 hash
也叫散列,类似于Java中的HashMap结构
Redis hash 是一个string类型的 field 和 value 的映射表,hash特别适合用于存储对象
命令
HSET key field value ——将哈希表 key 中的字段 field 的值设为 value
HGET key field ——获取存储在哈希表中指定字段的值
HDEL key field ——删除存储在哈希表中的指定字段
HKEYS key ——获取哈希表中所有字段
HVALS key ——获取哈希表中所有值
示例
hset user name suave
hget user name
hdel user name
hkeys user
hvals user
列表 list
按照插入顺序排序,可以有重复元素,类似于Java中的LinkedList
命令
LPUSH key value1 [value2] ——将一个或多个值插入到列表头部
LRANGE key start stop ——获取列表指定范围内的元素
RPOP key ——移除并获取列表最后一个元素
LLEN key ——获取列表长度
示例
lpush list1 a b c
获取list中所有元素
lrange list1 0 -1
rpop list1
llen list1
集合 set
无序集合,没有重复元素,类似于Java中的Hashset
命令
SADD key member1 [member2] ——向集合添加一个或多个成员
SMEMBERS key ——返回集合中的所有成员
SCARD key ——获取集合的成员数
SINTER key1 [key2] ——返回给定所有集合的交集
SUNION key1 [key2] ——返回所有给定集合的并集
SREM key member1 [member2] ——删除集合中一个或多个成员
示例
sadd set1 a b c
smembers set1
scard set1
sinter set1 set2
sunion set1 set2
srem set1 a b c
有序集合 sorted set/ zset
集合中每个元素关联一个分数(score),根据分数升序排序,没有重复元素
命令
ZADD key score1 member1 [score2 member2] ——向有序集合添加一个或多个成员
ZRANGE key start stop [WITHSCORES] ——通过索引区间返回有序集合中指定区间内的成员,加上WITHSCORES会返回分数
ZINCRBY key increment member ——有序集合中对指定成员的分数加上增量 increment
ZREM key member [member ..] ——移除有序集合中的一个或多个成员
示例
zadd zset1 1 a 2 b 3 c
zrange zset1 0 -1
zincrby zset1 5 a
zrem zset1 a b c
通用命令
KEYS pattern ——查找所有符合给定模式( pattern)的 key
EXISTS key ——检查给定 key 是否存在
TYPE key ——返回 key 所储存的值的类型
DEL key ——该命令用于在 key 存在是删除 key
返回所有以set开通的key
keys set*
exists set1
type set1
del set1