Redis简介(键值对模型)
-
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
-
非关系型数据库的一种,经常用作缓存数据库服务器。
-
具有丰富的数据类型:字符串、哈希、列表、集合、有序集合
-
端口:6379
安装及连接测试
-
安装
-
双击安装软件
Redis-x64-3.2.100.msi
-
需要勾选将安装路径添加到系统环境变量PATH下
-
一路NEXT即可完成安装
-
安装后自动添加到系统服务中,并且已经启动
-
-
连接
-
格式:
redis-cli -h host -p port -a pwd
-
-h:指定主机,默认本机
-
-p:指定端口,默认6379
-
-a:指定密码
-
--help:查看帮助
-
-
测试:
127.0.0.1:6379> ping PONG 127.0.0.1:6379>
-
退出:
quit
/exit
-
-
密码管理:设置密码后,不适用密码也能登录,但是没有权限做操作
-
单次有效:通过命令设置
-
获取配置:
config get requirepass
获取密码配置,config get *
获取所有配置 -
设置密码:
config set requirepass 123456
-
身份认证:
auth 123456
-
-
永久有效:修改配置文件
安装目录/redis.windows-service.conf
-
将
requirepass xxx
的行取消注释(去掉前面的#) -
后面跟上你要设置的密码
-
重启服务后即可生效
-
-
-
远程连接:修改配置文件中的
bind 127.0.0.1
为bind 0.0.0.0/本机IP
protected-mode yes改为no,重启redis服务
-
图形界面:
redis-desktop-manager-0.8.8.384.exe
-
一路next即可完成安装,添加连接即可查看对应的数据。
-
redis常用命令
-
常用管理命令:
ping:测试连接情况,默认恢复'PONG' quit/exit:退出客户端 auth:密码认证 config:配置命令,可以查看和设置配置信息,参考密码查看与设置 info:查看服务器信息,可以指定具体模块查看 command:查看支持的命令 select:选择库,总共16个,默认为0数据库;提示符后会有库号的提示,没有就是默认的库(0) flushdb:清空当前库 flushall:清空所有库 save:前台执行持久化存储 bgsave:后台执行持久化存储
-
键(keys):
exists:判断指定的键是否存在 del:删除指定的键值对 keys:查看指定样式的键,keys *表示查看所有 ttl:查看指定键的剩余有效时间,单位为秒,不存在键返回-2,永久返回-1 expire:设置指定键的生存时间 persist:移除指定键的生存时间,之后该键永久有效 move:移动指定的键到指定的库 rename:修改指定键的名字
-
字符串(string)
set:设置,存在就修改,不存在就添加 get:获取,获取指定键的值 mset:同时设置多个键值对 mget:同时获取多个键对应的值 getset:设置新值,同时返回旧值 setex:设置值及过期时间,单位为秒 incr:数字值加1 decr:数字值减1 incrby:数字值加上指定值 decrby:数字值减去指定值 incrbyfloat:数字值加上一个浮点数 append:键存在,值为字符串,追加指定的内容到原值的末尾 strlen:返回键对应值的字符长度
-
哈希(hash) 键,字段,值(key,feild,value)
hset:设置单个属性 #field字段存在会被新值覆盖 hget:获取单个属性 hmset:设置多个属性 hmget:获取多个属性 hgetall:获取所有属性 hexists:判断指定键是否有指定的字段 hdel:删除指定键的指定字段(字段被删除值也被删除) hkeys:获取指定键的所有字段 hvals:获取指定键的所有字段的值 hlen:获取指定键的字段个数 hincrby:在指定键的指定字段上增加一个整数 hincrbyfloat:在指定键的指定字段上增加一个浮点数
-
列表(list)
lpush:从左边(头部)插入数据 lpop:从左边(头部)删除并返回数据 lrange:获取区间内的数据,0 -1通常可以表示所有范围 lindex:根据索引获取元素 llen:统计列表中元素个数 lset:设置指定索引的元素值 lrem:删除指定数量的元素 linsert:在指定元素的前/后插入元素 ltrim:修剪列表元素(保留指定范围内地,删除其他) rpop:从右边(尾部)删除并返回数据 rpush:从右边(尾部)插入数据
-
集合(set)
sadd:向集合中添加元素(集合不存在会自动创建) scard:统计集合中元素的个数 smembers:返回所有元素 sismember:判断某个元素是否是集合的成员 spop:随机删除并返回指定个数的元素,不指定个数默认一个元素 srandmember:随机获取指定个数的元素 srem:移除指定元素 smove:将指定的元素从一个集合移动到另一个集合中 sinter:求交集 sinterstore:求交集并保存到一个集合中 sdiff:求差集 sdiffstore:求差集并保存到一个集合中 sunion:求并集 sunionstore:求并集并保存到一个集合中
-
有序集合(sorted set)
zadd:添加元素 zcard:统计元素个数 zcount:指定分数区间统计 zrange:返回指定索引范围内的元素(升序),zrevrange:降序 zrangebyscore:返回指定分数区间的元素(升序),zrevrangebyscore:降序 zrank:返回指定元素的索引(升序),zrevrank:降序 zrem:移除元素 zscore:返回元素的分数 zincrby:将元素的分数增加一个值 zinterstore:求交集并保存 zunionstore:求并集并保存