码迷,mamicode.com
首页 > 其他好文 > 详细

Redis

时间:2020-06-28 18:47:41      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:tor   append   数据结构   fse   rand   red   att   src   html   

介绍

Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。

Redis 与其他 key - value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

技术图片

安装

window版本地址:https://github.com/tporadowski/redis/releases

如果是Linux,请参照:https://www.runoob.com/redis/redis-install.html

技术图片

下载完成后,cd到该路径执行下面命令,你也可配置环境直接运行。

redis-server.exe redis.windows.conf

查看是否安装成功

执行:redis-server

如果出现下图页面,即安装成功。注意:在运行过程中不关闭服务端。

技术图片

技术图片

 

安装服务

redis-server --service-install redis.windows-service.conf --loglevel verbose

安装服务的时候一定要在redis路径下执行该命令。

卸载服务

redis-server --service-uninstall

开启服务

redis-server --service-start

停止服务

redis-server --service-stop

 

库操作

切换数据库

select index

例如:select 0

 

删除当前库所有键

flushdb

 

删除所有库的所有键

flushall

 

键操作

当前库中的键

keys pattern

匹配当前库所有键:keys *

匹配当前库n开头的键:keys n*

 

重命名键

修改 key 的名称

rename key newkey

仅当 newkey 不存在时,将 key 改名为 newkey 。

renamenx key newkey

 

当前键是否存在

exists key

例如:exists t1 t2

 

删除键

del key key1 ...

 

判断键类型

type key

 

获取随机的一个键

randomkey

 

获取键数量

dbsize

 

获取键过期时间

以毫毛返回:pttl

以秒返回:ttl key

-1表示永久不过期

 

设置键过期时间

以毫秒设置:pexpire key  milliseconds

以秒设置:expire key seconds

 

移动键

move key db

例如:move test 1

 

字符串操作

设置值

单键设值:set key value

多键设值:mset key value key1 value1

键存在不设值:setnx key value

键全不在设值:msetnx key value key1 value1

设置过期时间:setex key seconds value

偏移量(不足时补,足够时替换):setrange key offset value

增加值:append key value

设置新值并返回上次值:getset key value

 

获取值

单键取值:get key

多键取值:mget key key1 .....

范围取值(0开始,顾头顾尾):getrange key start end

 

增量与减量

增一:incr key

减一:decr key

增多:incrby key increment

减多:decrby key increment

 

列表操作

添加值

尾添加:lpush key value value1 ...

首添加:rpush key value value1 ...

 

获取值

索引取值:lindex key index

 

更新值

索引更新:lset key index value

 

删除值

按数量删除:lrem key count value

删除首值,并返回:lpop key

删除尾值,并返回:rpop key

如果列表为空,等待删除首(0表示一直等待):blpop key key1 timeout

如果列表为空,等待删除尾(0表示一直等待):brpop key key1 timeout

删除自身列表的尾元素,添加到别的列表头部  :rpoplpush source destination

 

其它

键长度:llen key

截取(被截取的保留,其它删除):ltrim key start stop

 

集合操作

添加值

添加:sadd key value value1 ...

 

获取值

获取集合所有值:smembers key

随机返回集合中元素(不指定count,默认返回一个):srandmenber key count

 

删除值

删除:srmv key value value1 ...

随机删除,并返回该值:spop key

将指定值,从起始表到终表:smove source destination value

 

数学集合

键的交集:sinter key key1 ...

键的交集保存到另一个键当中:sinterstore destination key key1 ...

键的并集:sunion key key1 ...

键的交集保存到另一个键当中:sunionstore destination key key1 ...

键的差集:sdiff key key1 ...

键的交集保存到另一个键当中:sdiffstore destination key key1 ...

 

其它

获取成员数量:scard key

该键中是否有该值:sismember key value

 

有序集合操作

添加值

添加:zadd key score value score1 value1 ...

增量添加。如果该值存在则该score=score+增量值,不存在增量值为score值:

zincrby key increment value

 

获取值

查询成员排名,score从小到大排序:zrank key value

查询成员排名,score从大到小排序:zrevrank key value

索引取值,score从小到大排序(withscores带上后,会输出score):zrange key start stop [withscores]

索引取值,score从大到小排序(withscores带上后,会输出score):zrevrange key start stop [withscores]

分数范围取值,score从小到大排序:zrangebyscore key min max [withscores]

分数范围取值,score从大到小排序:zrevrangebyscore key min max [withscores]

 

删除值

删除:zrem key value value1 ...

索引删除:zremrangebyrank key start stop

分数删除:zremrangebyscore key min max

 

其它

键成员个数:zcard key

成员分数范围的个数:zcount key min max

 

散列操作

field:映射键

value:映射值

添加值

单值添加:hset key field value

多值添加:hmset key field value field value

值存在不添加,不存在添加:hsetnx key field value

 

获取值

单值获取:hget key field

多值获取:hmget key field field1 ...

该散列表所有键:hkeys key

该散列表所有值:hvals key

该散列表所有键和值:hgetall key

 

删除值

删除映射键:hdel key field field1 ...

 

增量与减量

增量(increment:需要增加的数,或要减的数):hincrby key field increment

例如:hincrby key field -1

 

其它

映射键是否存在:hexists key field

映射键个数:hlen key

 

Redis

标签:tor   append   数据结构   fse   rand   red   att   src   html   

原文地址:https://www.cnblogs.com/py-peng/p/13196257.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!