Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。
Redis 与其他 key - value 缓存产品有以下三个特点:
Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
Redis支持数据的备份,即master-slave模式的数据备份。
主要能够体现 解决数据库的访问压力。
例如:短信验证码时间有效期、session共享解决方案
性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。
Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。
Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。
新建start.bat 批处理文件、内容: redis-server.exe redis.windows.conf
双击start.bat启动
修改密码 # requirepass foobared 修改为requirepass 123456
注意:修改密码的时候前面不要加空格
Redis的官方下载网址是:http://redis.io/download (这里下载的是Linux版的Redis源码包)
Redis服务器端的默认端口是6379。
这里以虚拟机中的Linux系统如何安装Redis进行讲解。
在windows系统中下载好Redis的源码包。
1. 通过WinSCP工具,将Redis的源码包由windows上传到Linux系统的这个目录/opt/redis (即根目录下的lamp文件夹)。
2. 解压缩。
tar -zxf redis-2.6.17.tar.gz
3. 切换到解压后的目录。
cd redis-2.6.17 ( 一般来说,解压目录里的INSTALL文件或README文件里写有安装说明,可参考之)
4. 编译。
make
(注意,编译需要C语言编译器gcc的支持,如果没有,需要先安装gcc。可以使用rpm -q gcc查看gcc是否安装)
(利用yum在线安装gcc的命令 yum -y install gcc )
(如果编译出错,请使用make clean清除临时文件。之后,找到出错的原因,解决问题后再来重新安装。 )
5. 进入到src目录。
cd src
6. 执行安装。
make install
到此就安装完成。但是,由于安装redis的时候,我们没有选择安装路径,故是默认位置安装。在此,我们可以将可执行文件和配置文件移动到习惯的目录。
cd /usr/local
mkdir -p /usr/local/redis/bin
mkdir -p /usr/local/redis/etc
cd /lamp/redis-2.6.17
cp ./redis.conf /usr/local/redis/etc
cd src
cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server redis-sentinel /usr/local/redis/bin
7.开放linux 6379 端口
1.编辑 /etc/sysconfig/iptables 文件:vi /etc/sysconfig/iptables
加入内容并保存:-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 6379 -j ACCEPT
2.重启服务:/etc/init.d/iptables restart
3.查看端口是否开放:/sbin/iptables -L -n
比较重要的3个可执行文件:
redis-server:Redis服务器程序
redis-cli:Redis客户端程序,它是一个命令行操作工具。也可以使用telnet根据其纯文本协议操作。
redis-benchmark:Redis性能测试工具,测试Redis在你的系统及配置下的读写性能。
/usr/local/redis/bin/redis-server
或
cd /usr/local/redis/bin
./redis-server /usr/local/redis/etc/redis.conf 为redis-server指定配置文
daemonize yes --- 修改为yes 后台启动
requirepass 123456 ----注释取消掉设置账号密码
ps aux | grep ‘6379‘ --- 查询端口
kill -15 9886 --- 杀死重置
kill -9 9886 --- 强制杀死
service iptables stop 停止防火墙
./redis-cli -h 127.0.0.1 -p 6379 -a "123456" --- redis 使用账号密码连接
PING 结果表示成功
redis-cli shutdown 或者 kill redis进程的pid
使dejibenshu用redisclient-win32.x86.1.5

在上面的例子中,SET和GET是redis中的命令,而mykey是键的名称。
Redis字符串命令用于管理Redis中的字符串值。以下是使用Redis字符串命令的语法。

在上面的例子中,SET和GET是redis中的命令,而mykey是键的名称。
下表列出了一些用于在Redis中管理字符串的基本命令
|
编号 |
命令 |
描述说明 |
|
1 |
此命令设置指定键的值。 |
|
|
2 |
获取指定键的值。 |
|
|
3 |
获取存储在键上的字符串的子字符串。 |
|
|
4 |
设置键的字符串值并返回其旧值。 |
|
|
5 |
返回在键处存储的字符串值中偏移处的位值。 |
|
|
6 |
获取所有给定键的值 |
|
|
7 |
存储在键上的字符串值中设置或清除偏移处的位 |
|
|
8 |
使用键和到期时间来设置值 |
|
|
9 |
设置键的值,仅当键不存在时 |
|
|
10 |
在指定偏移处开始的键处覆盖字符串的一部分 |
|
|
11 |
获取存储在键中的值的长度 |
|
|
12 |
为多个键分别设置它们的值 |
|
|
13 |
为多个键分别设置它们的值,仅当键不存在时 |
|
|
14 |
设置键的值和到期时间(以毫秒为单位) |
|
|
15 |
将键的整数值增加1 |
|
|
16 |
将键的整数值按给定的数值增加 |
|
|
17 |
将键的浮点值按给定的数值增加 |
|
|
18 |
将键的整数值减1 |
|
|
19 |
按给定数值减少键的整数值 |
|
|
20 |
将指定值附加到键 |
列表类型(List)
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)
一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。

Redis 列表命令
下表列出了列表相关的基本命令:
|
序号 |
命令及描述 |
|
1 |
BLPOP key1 [key2 ] timeout |
|
2 |
BRPOP key1 [key2 ] timeout |
|
3 |
BRPOPLPUSH source destination timeout |
|
4 |
LINDEX key index |
|
5 |
LINSERT key BEFORE|AFTER pivot value |
|
6 |
LLEN key |
|
7 |
LPOP key |
|
8 |
LPUSH key value1 [value2] |
|
9 |
LPUSHX key value |
|
10 |
LRANGE key start stop |
|
11 |
LREM key count value |
|
12 |
LSET key index value |
|
13 |
LTRIM key start stop |
|
14 |
RPOP key |
|
15 |
RPOPLPUSH source destination |
|
16 |
RPUSH key value1 [value2] |
|
17 |
RPUSHX key value |
原文:https://www.cnblogs.com/dabrk/p/12119980.html