1.redis简介
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。
2.Redis Desktop Manager简介
Redis Desktop Manager(又名RDM)—是用于Windows,Linux和MacOS的快速开源Redis数据库管理应用程序。该工具为您提供了易于使用的GUI,以访问您的Redis DB并执行一些基本操作:以树的形式查看密钥,CRUD密钥,通过Shell执行命令。RDM支持SSL / TLS加密,SSH隧道和云Redis实例,例如:Amazon ElastiCache,Microsoft Azure Redis Cache和Redis Labs。
Redis Desktop Manager 的下载路径
https://pan.baidu.com/s/1Jvr9MbgFn4UJh4M1AMo3gA 提取码:3i9b
3.Redis Window环境安装
网上的教程比较多了,这里我安装的版本是3.0.503。
进入redis文件夹,打开cmd,输入redis-server.exe redis.windows.conf:
然后不关闭这个窗口,再在同一文件夹打开另一个cmd窗口,输入redis-cli.exe -h 127.0.0.1 -p 6379,如图所示:
4.Redis Desktop Manager安装及简单使用
傻瓜式安装,无脑点击下一步即可,记得更改安装目录。
在第一个选项卡(“连接设置”)上,输入有关要创建的连接的常规信息。
名称 -新连接的名称(例如:my_local_redis)
主机 -Redis服务器主机(例如:本地主机)
端口 -Redis服务器端口(例如:6379)
身份验证 -Redis服务器身份验证密码(如果有)
进入后的界面:
右键点击db1,选择 Add New Key,可以选择5种type,string,list,set,zset,hash。
然后右边可以操作Add row,Delete row等。
5.redis的简单操作
Redis-Key
keys *
# 查看所有的key
set keyNumber 888
# set key
EXISTS myKey
# 判断当前的key是否存在
EXPIRE keyNumber 15
# 设置key的过期时间,单位是秒
ttl keyNumber
# 查看当前key的剩余时间
type keyNumber
# 查看当前key的一个类型!
get myKey
String(字符串)
set key1 luoxi01
# 设置值
get key1
# 获得值
keys *
# 获得所有的key
STRLEN key1
# 获取字符串的长度
GETRANGE key1 0 3
# 截取字符串 [0,3]
mset k1 v1 k2 v2 k3 v3
# 同时设置多个值
mget k1 k2 k3
# 同时获取多个值
set number 0
# 初始数为0
incr number
# 自增1
decr number
# 自减1
List(列表)
在redis里面,我们可以把list当成 ,栈、队列、阻塞队列。
注意,所有的list命令都是用l开头的,Redis不区分大小命令
LPUSH list one
# 将一个值或者多个值,插入到列表头部 (左)
LRANGE list 0 -1
# 获取list中值
LRANGE list 0 1
# 通过区间获取具体的值
Rpush list four
# 将一个值或者多个值,插入到列表位部 (右)
Lpop list
# 移除list的第一个元素
Rpop list
# 移除list的最后一个元素
lindex list 1
# 通过下标获得 list 中的某一个值
Llen list
# 返回列表的长度
他实际上是一个链表,before Node after ,left,right 都可以插入值.
如果key 不存在,创建新的链表.
如果key存在,新增内容.
如果移除了所有值,空链表,也代表不存在!.
在两边插入或者改动值,效率最高! 中间元素,相对来说效率会低一点.
Set(集合)
注意:set中的值不能重复
sadd myset "hello01"
# set集合中添加值
SMEMBERS myset
# 查看指定set的所有值
SISMEMBER myset hello01
# 判断某一个值是不是在set集合中
scard myset
# 获取set集合中的内容元素个数
srem myset hello03
# 移除set集合中的指定元素
SRANDMEMBER myset
# 随机抽选出一个元素
SRANDMEMBER myset 2
# 随机抽选出指定个数的元素
SDIFF myset myset2
# 差集
SINTER myset myset2
# 交集
SUNION myset myset2
# 并集
Hash(哈希)
hset myhash field1 luoxi123
# set一个具体 key-vlaue
hmset myhash field1 hello field2 world field3 luoxi123
# set多个 key-vlaue
hmget myhash field1 field2 field3
# 获取多个字段值
hgetall myhash
# 获取全部的数据
hlen myhash
# 获取hash表的字段数量
hdel myhash field3
# 删除hash指定key字段,对应的value值也就消失
HEXISTS myhash field1
# 判断hash中指定字段是否存在
hkeys myhash
# 只获得所有field
Zset(有序集合)
zadd myset03 1 one
# 添加一个值
zadd myset03 2 two 3 three
# 添加多个值
ZRANGE myset03 0 -1
zadd score 95 luoxi02
# 添加用户
ZRANGEBYSCORE score -inf +inf
# 显示全部的用户从小到大
ZRANGEBYSCORE score -inf +inf withscores
# 显示全部的用户并且附带成绩
ZRANGEBYSCORE score -inf 95 withscores
# 显示成绩小于等于95的学生的升序排序!
zrem score luoxi03
# 移除有序集合中的指定元素
zcard score
# 获取有序集合中的个数
还有三种特殊数据类型
Geospatial 地理位置
Hyperloglog
Bitmap