redis学习---2018年四月二十号

redis的基本数据结构分(字符串)String,(链表)List,(哈希)Map,(集合)Set,(有序集合)Sorted Set。

redis是c语言编写的二进制文件,redis存放大量的键值对,使用时都是靠key来相互区分。

启动redis客户端,有两种方法,一个是执行redis-cli.exe文件,一个是在cmd中执行./redis-cli命令。

key不能太短没有区分度,不能太长影响查找时间。如果不使用持久化,且只使用String类型,Memcache就和redis很像了。


String类型命令,set 【key】 【Value】,get 【key】。incr 【key】数值自增

字符串不用加“”号,弱类型,单个值最大可达521MB。


List类型命令,lpush 【key】 【Value】,rpush 【key】 【Value】,lrange 【key】 0 -1,

使用的是链表实现的list,所以可以在两边快速插入,不管数据量有多大,所示适合很少修改的业务。

List可以作为消息队列,天生保证顺序,使用lrange可以很方便的实现分页。


Set类型命令,sadd 【key】【Value。。。。】(一次添加多个值,存入的值没有顺序。)

sismember 【key】 【value】(查看某一元素是否存在于集合)smembers 【key】

有很多关于多个集合求交集并集的命令 sunion 【key1】【key2】。

可以用于实现标签。


Sorted Set类型命令,zadd【key】 【score】【value】,zrange 【key】0 -1 with score;zrange 【key】0 -1;

有序集合使用的跳跃链表的结构,仿照平衡二叉树原理,通过多个层次的链表快速定位到,需要找到的节点。


hash命令:HMSET 【key】 【key1】【value1】【key2】【value2】

适合存放对象。


redis的数据持久化的就是将内存中的数据进行记录,以某种形式存在磁盘等介质上。

RDB是通过记录redis某一时刻的快照数据实现的。利用redis是单线程的主线程利用fork()函数启动一个子线程,子线程异步执行制作临时文件,主线程不会执行IO操作,防止影响性能。临时文件制作好以后,替换掉老文件。这个过程中,如果系统断线,或者报错,就会产生数据丢失,所以在数据精确度要求特别高的时候,并不适于用RDB方法

AOF,accept only file只可增加不可减少的文件。它也是持久化方法的一种,利用修改或者新增的命令进行记录数据,当每次系统重启时,就会从新执行,这些命令保证数据的完整性。AOF每一秒持久化一次,这样就算出错也只会丢失一秒的数据。如果忽然出现错误,也没有关系,使用redis-check-aof可以进行 日志修复。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值