Redis的安装及应用
Redis的安装---Window系统
1.访问网页找到对应版本下载下来并解压到C盘根目录
https://github.com/microsoftarchive/redis/releases
2.进入CMD窗口,进入到Redis目录下随后运行
Redis的安装---Linux/Mac系统(外网Linux需开放端口,本机-内网无需)
1.访问网页找到对应版本下载下来并解压到根目录
https://github.com/microsoftarchive/redis/releases
2.进入到Redis目录下输入make命令进行编译,随后输入make test检查安装情况
出现如图则代表安装成功!
3.进入Redis目录下的src目录,运行redis-server则运行服务端,运行redis-cli则运行客户端
//-------------------------------------------------------------------------------------------------------------------------------------------------------------------
常用命令:
redis-server & (后台运行(linux/mac))
redis-cli.exe shutdown(关闭服务)可选参数(-p 端口号)(-h ip)
kill -9 6817(关闭服务,6818对应的服务的PID)
key * (显示可用值)
set a b (设置键为a,值为b)
get a(获取键为a的值)
info(查看配置信息)
dbsize(查看有多少键值对)
exists a(判断键为a的是否存在)
ttl a(查看键为a的过期时间)
expire b 10(设置键为b的十秒后过期)
type a(查看键为a的类型)
randomkey(获取随机键)
rename a d(将键为a的键重命名为d)(若键已存在则覆盖)
renamenx a d(将键为a的键重命名为d)(若键已存在则不作为)
//--------------------------------------------------------------------------------------------------------------------
Redis数据结构:
String字符串:
setex c 100 c(设置一个键为c 值为c,过期时间为100秒后的键值对)
psetex d 10000 d(设置一个键为d 值为d,过期时间为10000毫秒后的键值对)
getrange word 2 5(获取键为word的值第2-5个)(word wordword)结果为:rdwo
getset a aa(获取键为a的值,后将aa赋a的值)
mset a1 a1 b1 b1 c1 c1(同时设置键值对a1=a1,b1=b1,c1=c1)
mget a1 b1 c1(同时获取键为a1,b1,c1的值)
setnx a newavalue(创建键为a的值为newavalue,若键a存在,则不创建)
strlen word(获取键为word的内容长度)
msetnx a a b b c c(创建键值对a=a,b=b,c=c,若有一个存在了则都不创建)
incr a(使键为a的值自增1,前提是它的值是数字否则报错)
incrby a 100(使键为a的值自增100)
decr a(使键为a的值自减1)
decrby a 100(使键为a的值自减100)
append a abc(在键为a的值后面添加内容abc)
//----------------------------------------
哈希hash结构:
hset map name jim(创建一个键为map的哈希 里头值对为name=jim)
hexists map name(查看键为map的值中是否存在名为name的)
hgetall map(获取键为map的所有键值对)
hkeys map(获取键为map的所有键)
hvals map(获取键为map的所有值)
hlen map(获取键为map的键数量)
hmget map name age(获取键为map的键为name和age的值)
hmset map k1 v1 k2 v2(为键为map的批量插入键值对k1=v1,k2=v2)
hdel map k1 k2(为键为map的批量删除键为k1,k2的键值对)
hsetnx map color red(为键为map的插入键值对color=red,若color键已存在则不作为)
//----------------------------------------------------------------------------------------
列表List结构:(里头内容可重复)
lpush list 1 2 3 4 5 6 7 8 9 10(创建结构为List的键值对list,内容为1到10)
lrange list 0 2(获取键为list的索引0-2的元素)
lset list 0 100(设置键为list的索引0元素为100)
lindex list 5(获取键为list的索引0的元素)
lpop list(移除键为list的第一个索引位置的元素)
rpop list(移除键为list的最后一个索引位置的元素)
//---------------------------------------------------------
集合set结构:(里头内容不可重复,存放无序)
sadd set a b c d(创建键为set结构为set的键值对)
scard set(返回键为set的内容数量)
smembers set1(查看键为set1的全内容)
sdiff set1 set2(查看两个集合的差集(set1中set2没有的内容))
sinter set1 set2(查看两个集合的交集(set1和set2都有的内容))
sunion set1 set2(查看两个集合的并集(set1和set2全部内容(排重)))
srandmember set1 2(返回集合set1的两个随机内容)
sismember set a(判断元素a是否是集合set1的元素)
srem set1 a b(移除集合set1的元素a,b)
spop set1(移除并返回集合set1的随机一个元素)
//--------------------------------------------------------------------------
有序集合sortedset
zadd sortedset1 100 a 200 b 300 c(创建有序集合,键为sortedset1)
zcard sortedset(查看集合sortedset有多少个内容)
zscore sortedset a(查看集合sortedset的内容a的值)
zcount sortedset 0 220(查看集合sortedset中内容在0-200的有多少个内容)
zrank sortedset a(查看集合sortedset中内容为a的索引)
zincrby sortedset 1000 a(给集合sortedset中内容为a的值加上1000)(此时索引位置会改变)
zrange sortedset 0 100(查看集合sortedset中0-100个元素,共取101个元素,从索引0开始算)
zrange sortedset 0 100 withscores(查看集合sortedset中0-100个元素 带内容)