Redis占用端口号 6379

在Windows上连接Redis服务
进入Redis安装目录,输入redis-cli.exe

通过客户端来关闭Redis服务端
输入shutdown命令

Redis数据结构--简介

Redis是一种高级的key:value存储系统,其中value支持五种数据类型:

1、字符串(string)
2、字符串列表(lists)
3、字符串集合(sets)
4、有序字符串集合(sorted sets)
5、哈希(hashes)

而关于key,有几个点要提示大家:

1、key不要太长,尽量不要超过1024字节,这不仅消耗内存,而且会降低查找效率。
2、key也不要太短,太短的话,key的可读性会降低。
3、在一个项目中,key最好使用统一的命名模式,例如user:10000:passwd。

【Redis数据结构--strings】
有人说,如果只使用Redis中的字符串类型,且不使用Redis的持久化功能,那么,Redis就和memcache非常非常的像了。
这说明strings类型是一个很基础的数据类型,也是任何存储系统都必备的数据类型。

我们来看一个最简单的例子:

set mystr "hello world!" //设置字符串类型
get mystr //读取字符串类型

字符串类型的用法就是这么简单,因为是二进制安全的,所以你完全可以把一个图片文件的内容作为字符串来存储。

另外,我们还可以通过字符串类型进行数值操作。

set mynum '2' //

get mynum

incr mynum

get mynum

看,在遇到数值操作时,Redis会将字符串类型转化成数值。

由于INCR等指令本身就具有原子操作的特性,所以我们完全可以利用Redis的INCR、INCRBY、DECR、DECRBY等指令来实现原子
计数的效果,假如,在某种场景下有3个客户端同时读取了mynum的值(值为2),然后对其同时进行了加1的操作,
那么,最后mynum的值一定是5。不少网站都利用Redis的这个特性来实现业务上的统计计数需求。

【Redis数据结构--lists】

Redis的另一个重要的数据结构叫做lists,翻译为中文叫做“列表”。

首先要明确一点,Redis中的lists在底层实现上并不是数组,而是链表,也就是说对于一个具有上百万元素的lists来说,
在头部和尾部插入一个新元素,其时间复杂度是常数量级别的,比如用LPUSH在10个元素的lists头部插入新元素,和
在上千万元素的lists头部插入新元素的速度应该是相同的。

虽然lists有这样的优势,但同样有其弊端,那就是,链表类lists的元素定位会比较慢,而数组型lists的元素定位
就会快得多。

lists的常用操作包括LPUSH、RPUSH、LRANGE等。我们可以用LPUSH在lists的左侧插入一个新元素,用RPUSH在lists的
右侧插入一个新元素,用LRANGE命令从lists中指定一个范围来提取元素。我们来看几个例子:

//新建一个list叫做mylist,并在列表头部插入元素“1”
lpush mylist "1" //返回当前mylist中的元素个数

//在mylist右侧插入元素2
rpush mylist 2

//在mylist左侧插入元素0

//列出mylist中从编号0到编号1的元素
lrange mylist 0 1

//列出mylist中从编号0到倒数第一个元素
lrange mylist 0 -1

lists的应用相当广泛,随便举个例子:
1、我们可以利用lists来实现一个消息队列,而且可以确保先后顺序,不必像MySQL那样还需要通过order by来进行排序。
2、利用LRANGE 还可以很方便的实现分页的功能。
3、在博客系统中,每片博文的评论也可以存入一个单独的list中。

【Redis数据结构-集合】
Redis的集合,是一种无序的集合,集合中的元素没有先后顺序。
集合相关的操作也很丰富,如添加新元素、删除已有元素、取交集、取并集、取差集等。
我们来看例子:

对于集合的使用,也有一些常见的方式,比如,QQ有一个社交功能叫做“好友标签”,
大家可以给你的好友贴标签,比如"大美女"、"欧巴"等等,这时既可以使用Redis的集合来实现,把
每一个用户的标签都存储在一个集合之中。

【Redis数据结构--有序集合】
Redis不但提供了无需集合(sets),还很体贴的提供了有序集合(sorted sets)。有序集合中的每个
元素都关联一个序号(score),这便是排序的依据。

很多时候,我们都将Redis中的有序集合叫做zsets,这是因为在Redis中,有序集合相关的操作指令都是z开头的,
比如zrange、zadd、zrevrange、zrangebyscore等等。

【Redis数据结构--哈希】

最后要给大家介绍的是hashes,即哈希。哈希是从Redis-2.0.0版本之后才有的数据结构。

hashes存的是字符串和字符串值之间的映射,比如一个用户要存储起全名、姓氏、年龄等等,就很适合使用哈希。

PCRE 简介
这些函数中使用的模式语法非常类似Perl。表达式必须