redis学习教程一《Redis的安装和配置》
Redis的优点
以下是Redis的一些优点。
- 异常快 - Redis非常快,每秒可执行大约
110000
次的设置(SET
)操作,每秒大约可执行81000
次的读取/获取(GET
)操作。 - 支持丰富的数据类型 - Redis支持开发人员常用的大多数数据类型,例如列表,集合,排序集和散列等等。这使得Redis很容易被用来解决各种问题,因为我们知道哪些问题可以更好使用地哪些数据类型来处理解决。
- 操作具有原子性 - 所有Redis操作都是原子操作,这确保如果两个客户端并发访问,Redis服务器能接收更新的值。
- 多实用工具 - Redis是一个多实用工具,可用于多种用例,如:缓存,消息队列(Redis本地支持发布/订阅),应用程序中的任何短期数据,例如,web应用程序中的会话,网页命中计数等。
环境:
Ubuntu4.0以上系统
jdk1.6以上
一:在Ubuntu上安装redis
注:需先装java jdk环境
检查是否安装:打开终端 java -version 显示对应的版本即为安装
1.1:安装jdk
方式1:打开终端 :sudo apt-get install openjdk-7-jdk 要求联网
方式2:未联网的情况下安装jdk http://www.cnblogs.com/madyina/p/3705520.html 参照即可
完成后:检测 java -version显示版本为安装成功
1.2:安装redis
1:sudo apt-get update
2:sudo apt-get install redis-server 开始安装
注:sudo需要root权限 提示需求root管理员操作时:切换到root管理员即可
2.1: su root 提示输入root和密码即可
root密码忘记修改方式:
终端输入命令 sudo passwd,然后输入当前用户的密码,enter,终端会提示我们输入新的密码并确认,此时 的密码就是root新密码。修改成功后,输入命令 su root,再输入新的密码就ok了。
1.3:启动redis
1:redis-server
2:检测是否已启动 redis-cli 提示reds ip 端口号为正常启动 ping是否能正常连接
1.4:redis配置
在Redis中,在Redis的根目录下有一个配置文件(redis.conf
)。当然您可以通过Redis CONFIG
命令获取和设置所有的 Redis配置。
语法
以下是Redis中的CONFIG
命令的基本语法。
CONFIG GET CONFIG_SETTING_NAME
示例:CONFIG GET loglevel
要获取所有配置设置,请使用*
代替CONFIG_SETTING_NAME
要更新配置,可以直接编辑redis.conf
文件,也可以通过CONFIG set
命令更新配置。
语法
以下是CONFIG SET
命令的基本语法。
CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE
示例:CONFIG SET loglevel "notice"
二:安装redis可视化工具<redis-desktop-manager>
网址:https://pan.baidu.com/s/1cA3jWU下载安装即可
安装教程:http://blog.csdn.net/u013410747/article/details/51706964
三: 数据类型
1: 字符串
Redis中的字符串是一个字节序列。Redis中的字符串是二进制安全的,这意味着它们的长度不由任何特殊的终止字符决定。
因此,可以在一个字符串中存储高达512
兆字节的任何内容。
示例: set name "yiibai.com"
查询:get name 关键字:get
在上面的示例中,set
和get
是Redis命令,name
是Redis中使用的键,yiibai.com
是存储在Redis中的字符串 的值。注 - Redis命令不区分大小写,如SET
,Set
和set
都是同一个命令。字符串值的最大长度为 512MB。
2:散列/哈希/对象
Redis散列/哈希(Hashes)是键值对的集合。Redis散列/哈希是字符串字段和字符串值之间的映射。因此,它们用于表示对
象。
示例: HMSET ukey username "yiibai" password "passswd123" points 200
查询: HGETALL ukey 关键字:hgetall
在上述示例中,散列/哈希数据类型用于存储包含用户的基本信息的用户对象。这里HMSET
,HGETALL
是Redis的命令,
而ukey
是键的名称。每个散列/哈希可以存储多达2^32 - 1
个健-值对(超过40
亿个)。
3:列表
Redis列表只是字符串列表,按插入顺序排序。您可以向Redis列表的头部或尾部添加元素。 有序存在重复对象
示例:lpush alist redis
lpush alist mongodb
lpush alist sqlite
查询:lrange alist 0 10 关键字:lrange
上诉示例中,向alist添加了三个字符串对象,列表的最大长度为2^32 - 1
个元素(4294967295
,每个列表可容纳超
过40
亿个元素)。
4:集合
Redis集合是字符串的无序集合。在Redis中,您可以添加,删除和测试成员存在的时间O(1)复杂性。无序不存在重复对象
示例: sadd yiibailist redis
sadd yiibailist mongodb
sadd yiibailist sqlite
sadd yiibailist sqlite 注:添加失败 重复sqlite
查询:smembers yiibailist 关键字:smembers
上诉示例中 注意 - 在上面的示例中,sqlite
被添加了两次,但是由于集合的唯一属性,所以它只算添加一次。一个
集合中的最大成员数量为2^32 - 1
(即4294967295
,每个集合中元素数量可达40
亿个)个。
5:可排序集合
Redis可排序集合类似于Redis集合,是不重复的字符集合。 不同之处在于,排序集合的每个成员都与分数相关联,这个
分数用于按最小分数到最大分数来排序的排序集合。虽然成员是唯一的,但分数值可以重复
示例: zadd ulist 0 redis
zadd ulist 1 redis1
zadd ulist 2 redis2
查询:ZRANGEBYSCORE ulist 关键字:ZRANGEBYSCORE
上诉示例中 插入是 0 1 2 查询时,倒序显示
四:在远程服务器上运行命令 (连接远程服务器上的redis)
要在Redis远程服务器上运行命令,需要通过客户端redis-cli
连接到服务器
示例:redis-cli -h host -p port -a password
以下示例显示如何连接到Redis远程服务器,host为ip号 port为端口号 password为密码
五:Redis键命令
Redis键命令用于管理Redis中的键。以下是使用redis键命令的语法。
语法:
COMMAND KEY_NAME command:表示基本命令 基本命令如下
下表列出了与键相关的一些基本命令。
编号 | 命令 | 描述 |
---|---|---|
1 | DEL key | 此命令删除一个指定键(如果存在)。 |
2 | DUMP key | 此命令返回存储在指定键的值的序列化版本。 |
3 | EXISTS key | 此命令检查键是否存在。 |
4 | EXPIRE key seconds | 设置键在指定时间秒数之后到期/过期。 |
5 | EXPIREAT key timestamp | 设置在指定时间戳之后键到期/过期。这里的时间是Unix时间戳格式。 |
6 | PEXPIRE key milliseconds | 设置键的到期时间(以毫秒为单位)。 |
7 | PEXPIREAT key milliseconds-timestamp | 以Unix时间戳形式来设置键的到期时间(以毫秒为单位)。 |
8 | KEYS pattern | 查找与指定模式匹配的所有键。 |
9 | MOVE key db | 将键移动到另一个数据库。 |
10 | PERSIST key | 删除指定键的过期时间,得永生。 |
11 | PTTL key | 获取键的剩余到期时间。 |
12 | RANDOMKEY | 从Redis返回一个随机的键。 |
13 | RENAME key newkey | 更改键的名称。 |
14 | PTTL key | 获取键到期的剩余时间(以毫秒为单位)。 |
15 | RENAMENX key newkey | 如果新键不存在,重命名键。 |
16 | TYPE key | 返回存储在键中的值的数据类型。 |