当前位置:Gxlcms > 数据库问题 > key-value数据库-Redis

key-value数据库-Redis

时间:2021-07-01 10:21:17 帮助过:17人阅读

这时候另启一个cmd窗口,原来的不要关闭,不然就无法访问服务端了。

切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379 。

设置键值对 set myKey abc

取出键值对 get myKey

C:\redis>redis-cli.exe -h 127.0.0.1 -p 6379
127.0.0.1:6379> set mykey yaohong
OK
127.0.0.1:6379> get mykey
"yaohong"
127.0.0.1:6379>

3.配置

3.1获取配置

 #CONFIG GET *

3.2便捷配置

#CONFIG SET loglevel "notice"

4.数据类型

Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。

5.命令

 5.1基本命令

启动redis客户端

C:\redis>redis-cli
127.0.0.1:6379>

检测redis服务是否启动

127.0.0.1:6379> PING
PONG

 连接远程

C:\redis>redis-cli -h 127.0.0.1 -p 6379 -a "mypass"
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> PING

 5.2键(key)

 增:SET keyname redis  ---key后面跟key的名称和key的值

 删:del keyname

 改:EXPIRE yhkey 60  ---修改key的过期时间、EXPIRE以秒计算、  PEXPIRE 以毫秒计算   

       ttl myname -----修改key永不过期

       rename key yhkey9

查:keys * 查询所有key

      keys  yh* 过滤出包含yh的key

      exists keyname  判断key是否存在

       pttl mekey查找key的剩余时间

 5.3Redis-String

#增
127.0.0.1:6379> SET keyname2 "hello myname is yaohong, what is your name?" OK
#查 127.0.0.1:6379> GET keyname2 "hello myname is yaohong, what is your name?"

#截取字符串 127.0.0.1:6379> GETRANGE keyname2 2 14 "llo myname is" 127.0.0.1:6379> keys * 1) "keyname2" 2) "yhkey1" 3) "yhkey9" 4) "yhkey3" 5) "keyname1" 6) "yhyhkey" 7) "mykey"

#同时获取多个字符串 127.0.0.1:6379> GET yhkey1 yhkey3 (error) ERR wrong number of arguments for ‘get‘ command 127.0.0.1:6379> MGET yhkey1 yhkey3 1) "redis" 2) "redis" 127.0.0.1:6379>

 5.4Redis-Hash

增:hmset(同时将多个file-value设置到hash表中)、hget

删:hdel

查:hget、hgetall、hkey获取hash表中所有域(file)、

  hmget myhash file1 file2 file3(返回哈希表中,一个或多个给定字段的值)

      hvals获取哈希表中所有值

 判:hexists 判断是否存在

       hlen获取file个数

5.5Redis-List

Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)

增:lpush(头部插入元素)、rpush(尾部插入元素)

删:lpop(移除列表第一个元素)、rpop(移除列表最后一个元素)、lrem keyname count value(count大于0从头部开始删除value元素)

查:llen(获取列表长度)、lreng key start stop(获取start到stop的元素)

改:lset、rset

5.6Redis-Set

增:sadd、

      sunionstore  myset myset1 myset2  命令将给定集合的并集存储在指定的集合 myset中

删:spop移除集合中随机数

      srem按值移除集合中元素

查:smembers、scard(获取成员数)、

      sdiff(列出第一个集合拥有,第二个集合没有的元素)、

      sdiffstore(将第一个集合拥有,第二个集合没有的元素保存到第三个集合中)、

      sinter(列出两个集合的交集)

      smembers列出集合所有成员

改:smove  myset1 myset2 "key1"   将key1从myset1移到myset2

判:sismember 判断元素是否是key的成员

5.7Redis-ZSet

Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。

增:zadd keyname scoren value

删:zrem keyname nember 移除有序集合中的一个或多个成员

      zremrangebylex key min max 移除有序集合中给定的字典区间的所有成员。

      zremrangebyrank key start stop  移除有序集合中给定的排名区间的所有成员

      zremrangebyscore key min max  移除有序集合中给定的分数区间的所有成员

查:zcard 获取集合的成员数

      zcount key min max 计算在有序集合中指定区间分数的成员数 

      zrange key start stop WITHSCORES 通过索引区间返回有序集合成指定区间内的成员

5.8事务

Redis 事务可以一次执行多个命令

开始事务:MULTI

执行事务:EXEC

取消事务:DISCARD    取消事务,放弃执行事务块内的所有命令

 监视事务:WATCH      监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断

取消监视:UNWATCH   取消 WATCH 命令对所有 key 的监视。

5.9脚本

Eval 命令使用 Lua 解释器执行脚本。

5.10服务器

Redis 服务器命令主要是用于管理 redis 服务。

统计参数:INFO

重置 INFO 命令中的某些统计数据:config resetstat

键数:dbsize

 删除所有key:flushall

删除当前数据库key:flushdb

异步保存数据到硬盘:save

6.Redis高级

6.1Redis 数据备份与恢复

备份:save

恢复:1:将生成的rdb文件移动到 redis 安装目录(执行config get dir)并启动服务即可

创建 redis 备份文件也可以使用命令 BGSAVE,该命令在后台执行。

6.2Redis 安全

设置密码:config set requirepass "itnihao"
auth itnihao 获取密码:CONFIG get requirepass

6.3Redis 性能测试

6.4Redis 客户端连接

查看最大连接数:config get maxclients

设置最大连接数:redis-server --maxclients 100000

6.5Redis 管道技术

Redis 管道技术可以在服务端未响应时,客户端可以继续向服务端发送请求,并最终一次性读取所有服务端的响应。

6.6Redis 分区

分区是分割数据到多个Redis实例的处理过程,因此每个实例只保存key的一个子集。

key-value数据库-Redis

标签:下载   其他   设置密码   pre   分割   auth   class   hash   指令   

人气教程排行