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 参照即可 完成后:检测 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> 网址: 下载安装即可 安装教程: 三: 数据类型 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 | 此命令删除一个指定键(如果存在)。 | |
2 | 此命令返回存储在指定键的值的序列化版本。 | |
3 | 此命令检查键是否存在。 | |
4 | 设置键在指定时间秒数之后到期/过期。 | |
5 | 设置在指定时间戳之后键到期/过期。这里的时间是Unix时间戳格式。 | |
6 | 设置键的到期时间(以毫秒为单位)。 | |
7 | 以Unix时间戳形式来设置键的到期时间(以毫秒为单位)。 | |
8 | 查找与指定模式匹配的所有键。 | |
9 | 将键移动到另一个数据库。 | |
10 | 删除指定键的过期时间,得永生。 | |
11 | 获取键的剩余到期时间。 | |
12 | 从Redis返回一个随机的键。 | |
13 | 更改键的名称。 | |
14 | 获取键到期的剩余时间(以毫秒为单位)。 | |
15 | 如果新键不存在,重命名键。 | |
16 | 返回存储在键中的值的数据类型。 |