新人入坑Redis必会的吐血总结

  • 时间:
  • 浏览:9
  • 来源:uu快3教程_uu快3代理_手机版

example:

它具有以下特点:

Redis中的hash类型可不能能 看成具有string key和string value的map容器,有些有些该类型非常适合于存储值对象的信息。如username,password和age等。可能性hash中中含很少的字段,没了该类型的数据也将仅占用很少的磁盘空间。每另另好十几个 hash可不能能 存储429496729八个键值对。

zscore key member:返回指定成员的分数

zrevrange key start end[withscores]:获取集合中脚标为start-end的成员,[withscores]参数表明返回的成员中含其分数(分数从大到小排序)

llen key:返回指定的key关联的链表中的元素的数量

del key:删除整个list

通配符:

example:

Redis5.0-rc3.tar.gz

smembers key:获取set中所有的成员

而本文将基于Redis5.0为例来介绍Redis有些相关命令的使用和踩过的坑

example:

example:

hexists key field:判断指定的key中的field是否处于

incr key:将指定的key的value原子性的递增1,可能性该key不处于,其初始值为0,在incr原来的值为1,可能性value的值不可不能能 转成整型,如hello,该操作将执行失败并返回相应的错误信息,离米 ++(作用:统计网站访客人数,当计数器)

zadd key score member score2 member2...:将所有成员以及该成员的分数存塞进去去去sorted-set中。可能性该元素可能性处于则会用新的分数代替原有的分数,返回值是新加入到集合中的元素个数,不中含原来可能性处于的元素。

example:

*表示任意0个可能性多个字符

example:

getset key value:先获取该key的值,但会 再设置该key的值

?表示任意另另好十几个 字符

example:

decr key:将指定的key的value原子性的递减1,可能性该key不处于,其初始值为0,在incr原来的值为-1,可能性value的值不可不能能 转成整型,如hello,该操作将执行失败并返回相应的错误信息,离米 --i

AOF的配置

quit/Ctrl+C 退出客户端

官网似乎提供了另另好十几个 在线的Redis平台,链接在这里:http://try.redis.io/

zcard key:获取集合中的成员数量

example:

RDB是redis的默认持久化机制,离米 照快照,保存的是你这个情况汇报

example:

example:

example:

linsert key before|after pivot value:在pivot元素前可能性后插入value你这个元素

zcount key min max:获取分数在[min,max]之间的成员

example:

lset key index value:设置链表中的index的脚标的元素值,0代表链表的头元素,-1代表链表的尾元素。操作链表的脚标不处于则抛出异常

hdel key field[field...]:可不能能 删除另另好十几个 或多个字段,返回值是被删除的字段个数

RDB是何时进行照快照?

交集运算

您可不能能 考虑给博主来个小小的打赏以资鼓励,您的肯定将是我最大的动力。thx.

subscribe channel:订阅频道

sadd key value[value1 value2...]:向set中打上去元素,可能性该key的值已有则不必重复打上去

查看是否启动成功.命令行 ps -aux | grep redis (直接查看redis的系统进程运行运行)

example:

exits key:判断该key是否处于,1表示处于,0表示不处于

flushdb 删除当前数据库中的所有key

开启AOF机制的最好的最好的办法

每修改同步:要是有key变化的话,就进行AOF保存数据,比较安全,但会 原来做极为浪费系统资源,降低时延

get key:获取key的value。可能性与该key关联的value都有string类型,redis将返回错误信息,可能性get命令不可不能能 用于获取string value;可能性该key不处于,返回nil

传统数据库如MySQL数据库可不能能 当时人用的话自定义创建,当我门可不能能 通过create database xxxx进行创建。Redis 也是有数据库的,不过Redis可能性提前创建好了。在redis默认有十八个数据库,0,1,2....15,在radis上所作的所有数据操作,都有默认在0号数据库上操作,数据库与数据库之间是不可不能能 共享键值对的。当我门可不能能 把Redis数据库理解为另另好十几个 map集合。

example:

everysec #每秒同步一次,该策略为AOF的缺省策略

集合运算

save 900 1#每900秒离米 有另另好十几个 key处于变化,则dump内存快照

lpop key:返回并弹出指定的key关联的链表中的第另另好十几个 元素,即头部元素。可能性该key不处于,返回nil;若key处于,则返回链表的头部元素

RDB机制适用于内存比较丰厚的计算机

不同步:不进行任何持久化操作,你这个配置不安全

并集运算

list列表类型

set集合类型

example:

可能性你原来按照我所提供的教程修改过,你这个过程可不能能 直接忽略就好

日志文件会怪怪的大,不适用于灾难恢复

srem key member[member1 member2...]:删除set中指定的成员

example:

服务器正常关闭时,会照一次快照

1、Redis支持数据的持久化,可不能能 将内存中的数据保持在磁盘中,重启的原来可不能能 再次加载进行使用。

2、Redis不仅仅支持简单的key-value类型的数据,共同还提供string、list、set、sortedset、hash等数据形态学 的存储。

3、Redis支持数据的备份,即master-slave模式的数据备份。

psubscribe channel*:批量订阅频道

zincrby key increment member:设置指定成员的增加的分数,返回值是更改后的分数

example:

rpoplpush resource destination:将链表中的尾部元素弹出并打上去到头部。[循环操作]

example:

srandmember key:随机返回set中的另另好十几个 成员

del key:删除指定key,返回值是数字类型,表示删了十几个 数据

scard key:获取set中成员的数量

example:

example:

lrem key count value:删除count个值为value的元素,可能性count大于0,从头到尾遍历并删除count个值为value的元素,可能性count小于0,则从尾到头遍历并删除,可能性count等于0,则删除链表中所有等于value的元素。

publish channel content:在指定的频道中发布消息

修改redis.conf文件,将daemonize改为yes(vi redis.conf进去,:/daemonize搜索).

String字符类型

安装教程请参看这里:https://www.cnblogs.com/ECJTUACM-873284962/p/9532043.html

在redis.config文件中用:/aof找到对应的段落

每秒同步:每秒进行一次AOF保存数据,安全性低,比较节省系统资源

缺点:

正常关闭[root@sakura]# redis-cli shutdown

expire key:设置过期时间,单位:秒 可能性某个key过期,redis会将其删除

启动最好的最好的办法

缺点:

key满足一定条件时,会照一次快照

在项目中,建议使用正常关闭。 可能性redis作为缓存来使用的话,将数据存储到内存中,可能性使用正常关闭,则会将内存数据持久化到本地原来,再关闭。可能性是强制关闭,则不必进行持久化操作,可能性会造成累积数据的丢失。

hkeys key:获得所有的字段

再修改其中一段成appendfsync always即可

ttl key:获取该key所剩的超时时间,可能性没了设置超时时间,返回-1.可能性返回-2表示超时不处于。

example:

example:

example:

example:

example:

按照我所提供的教程安装原来,当我门只须要输入命令redis-server即可,界面如下:

example:

example:

启动客户端命令:[root@sakura]# redis-cli -h ip地址 -p 端口号

example:

zrevrank key member:返回成员在集合中的排名。(索引从大到小)

type key:获取指定的key的值类型,该命令将以字符串的格式返回。返回的字符串为string、list、set、hash和zset,

可能性key不处于返回none

example:

hgetall key:获取key中的所有field-value2

example:

example:

RDB机制符合要求就会照快照(随时随地启动),会占用一定的系统资源(老要的)很可能性内存过高 直接宕机。(宕机后,服务器会关闭,属于非正常关闭,数据会丢失)

select 数据库名:切换数据库

example:

example:

zrangebyscore key min max [withscores][LIMIT offset count]:返回分数在[min,max]的成员并按照分数从低到高排序。[withscores]:显示分数;[LIMIT offset count]:offset,表明从脚标为offset的元素原来结束了了并返回count个成员

Redis中list选折 的是链表,可能性在Redis操作中,最多的操作是进行元素的增删

example:

AOF机制适用于内存比较小的计算机

微信打赏

flushall 删除所有数据库中的所有key

hmset key field value[field2 value2...]:设置key中的多个field/value

rename key newkey:为当前的key重命名

append key value:拼接字符串,可能性该key处于,则在原有的value后追加该值,可能性该key不处于,则重新创建另另好十几个 key/value

info 获取服务器的信息和统计

zremrangebyrank key start stop:按照排名范围删除元素

可能性Redis在实际使用中不必要是另另好十几个 Redis单独工作,启动和关闭最好的最好的办法中的ip地址和端口号可不能能 在配置文件中自行修改,下面会有修改最好的最好的办法.

AOF是怎样才能进行数据备份的呢?

example:

差集运算

快照时延极快,还原数据时延极快

example:

example:

正常关闭:redis-cli -h ip地址 -p 端口号(默认端口号是6379) shutdown

string使用环境:主要用于保存json格式的字符串

example:

使用命令后端启动redis.命令行redis-server redis.conf(以配置文件启动)

keys pattern:获取所有与pattern匹配的key,返回所有与该key匹配的keys。*表示任意另另好十几个 可能性多个字符

zrank key member:返回成员在集合中的排名(索引从小到大)

always #每秒有数据修改处于时都会写入AOF文件

sunion key1 key2...:返回并集

关闭最好的最好的办法

退出:127.0.0.1:6379> quit即可

lpush key value [value1 value2 ...] 在指定的key所关联的list头部插入所有的value,可能性该key不处于,该命令在插入原来创建另另好十几个 与该key关联的空链表,原来再向该链表的头部插入数据,插入成功,返回元素的个数。

example:

example:

hash特点:占用的磁盘空间极少

save 500 500000#每500秒离米 有500000个key处于变化,则dump内存快照

example:

sinterstore destination key[key...]:将返回的交集存储在destination上

example:

hash散列类型

example:

example:

适用于灾难备份

example:

hget key filed:获取指定的key的field的值

set key value:设定key持有指定的字符串value,可能性该key处于则进行覆盖操作,老要返回"OK",可能性赋予相同的key,新的value会覆盖老的value

example:

lrange key start end:获取链表中从start到end的元素的值,start、end从0原来结束了了计数;也可不能能 为负数,若为-1则表示链表尾部的元素,-2表示倒数第八个,以此类推...

hincrby key field increment:设置key中的field增加increment,如age增加20

dbsize 返回当前数据库中的key的数目

zremrangebyscore key min max:按照分数范围删除元素

sortedset有序集合类型

支付宝打赏

hset key field value:为指定的key设定field/value对(键值对)

example:



作  者: Angel_Kitty

出  处:http://www.cnblogs.com/ECJTUACM-873284962/

关于作者:潜心机器学习以及信息安全的综合研究。如有什么的问題或建议,请多多赐教!

版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意须要保留此段声明,且在文章页面明显位置给出原文链接。

特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。可能性直接私信我

声援博主:可能性您我觉得文章对您有帮助,可不能能 点击右下角【推荐】推荐一下该博文。您的鼓励是作者坚持原创和持续写作的最大动力!

Redis是另另好十几个 使用C语言开发的开源的高性能的key-value存储系统,当我门可不能能 把它近似理解为Java Map。简单来讲,Redis是你这个NOSQL内存数据库,小伙伴们可从不把它理解为NO SQL(都有SQL),它的全称是Not Only SQL(不仅仅是SQL),换个层面来讲,它是你这个非关系型的数据库,它是作为关系型数据库的良好补充,它与传统的MySQL,Oracle不同之处于于,它是通过在内存中读写数据,大大提高了读写时延。可不能能 说,Redis是为了处理网站高并发、高可用、高可扩展、大数据存储等一系列什么的问題而产生的数据库处理方案,不可或缺的一累积。

恢复时延远远低于RDB

example:

example:

incrby和decrby:不可不能能 对字符串是数字的进行操作,incrby key value是对原有的key的值增加value,而decrby key value是对原有的key的值减少value

可能性默认IP是127.0.0.1,端口是6379,当我门只须要输入命令redis-cli即可

ping 测试连接是否存活

rpush key value [value1 value2 ...] 在该list的尾部打上去元素

AOF策略是你这个使用日志功能保存数据操作的机制,默认AOF机制关闭的,它的操作只会保存愿因key变化的的话

example:

example:

example:

hmget key filed1 field2...:获取key中的多个field的值

save 500 10#每500秒离米 有10个key处于变化,则dump内存快照

example:

example:

example:

example:

example:

example:

优点:

强制关闭:Ctrl+c

example:

example:

sinter key1 key2...:返回交集

sismember key member:判断参数中指定的成员是否在该set中,1表示处于,0表示不处于可能性该key你这个就不处于(无论集合中含十几个 元素都可不能能 暗影的返回结果)

example:

zrem key member[member...]:移除集合中指定的成员,可不能能 指定多个成员

example:

将appendonly no改成appendonly yes

强制关闭:kill -9 PID

no #从不同步。高效但会 数据不必被持久化

rpop key:从尾部弹出元素

须要将redis解压原来的源码包中的redis.conf文件拷贝到bin目录下.直接qq克隆好友 粘贴即可

sdiff key1 key2...:返回key1与key2中相差的成员,但会 与key的顺序有关,即返回差集

example:

zrange key start end[withscores]:获取集合中脚标为start-end的成员,[withscores]参数表明返回的成员中含其分数(分数从小到大排序)

example:

example:

move newkey 数据库名:将当前数据库的key移植到指定的数据库中

example:

sdiffstore destination key1 key2...:将key1 key2...相差的成员存储在destination上

hlen key:获取key所中含的field的数量

echo 在命令行打印有些内容

example:

CentOS7 (未安装Development Tools)

优点: