redis学习教程一《Redis的安装和配置》
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
兆字节的任何内容。 查询: 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
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
亿个)个。
Redis可排序集合类似于Redis集合,是不重复的字符集合。 不同之处在于,排序集合的每个成员都与分数相关联,这个
分数用于按最小分数到最大分数来排序的排序集合。虽然成员是唯一的,但分数值可以重复
示例: zadd ulist 0 redis
zadd ulist 1 redis1
zadd ulist 2 redis2
上诉示例中 插入是 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 | 返回存储在键中的值的数据类型。 |
redis学习教程一《Redis的安装和配置》的更多相关文章
- Redis学习笔记一:基本安装和配置
1.安装 wget http://download.redis.io/releases/redis-3.2.3.tar.gz编译安装: tar xf redis-3.2.3.tar.gz cd red ...
- redis学习教程五《管道、分区》
redis学习教程五<管道.分区> 一:管道 Redis是一个TCP服务器,支持请求/响应协议. 在Redis中,请求通过以下步骤完成: 客户端向服务器发送查询,并从套接字读取,通常以阻 ...
- redis学习教程四《管理、备份、客户端连接》
redis学习教程四<管理.备份.客户端连接> 一:Redis服务器命令 Redis服务器命令 下表列出了与Redis服务器相关的一些基本命令. 序号 命令 说明 1 BGREWRITE ...
- redis学习教程三《发送订阅、事务、连接》
redis学习教程三<发送订阅.事务.连接> 一:发送订阅 Redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息.Redi ...
- redis学习教程二《四大数据类型》
redis学习教程二<四大数据类型> 四大数据类型包括:字符串 哈希 列表 集合一 : Redis字符串 Redis字符串命令用于管理Redis中的字符串 ...
- Node.js 教程 01 - 简介、安装及配置
系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...
- HBase学习笔记之HBase的安装和配置
HBase学习笔记之HBase的安装和配置 我是为了调研和验证hbase的bulkload功能,才安装hbase,学习hbase的.为了快速的验证bulkload功能,我安装了一个节点的hadoop集 ...
- Vue学习之vue-cli脚手架下载安装及配置
Vue学习之vue-cli脚手架下载安装及配置:https://www.cnblogs.com/clschao/articles/10650862.html 1. 先下载node.js,下载地址:ht ...
- day 84 Vue学习之vue-cli脚手架下载安装及配置
Vue学习之vue-cli脚手架下载安装及配置 1. 先下载node.js,下载地址:https://nodejs.org/en/download/ 找个目录保存,解压下载的文件,然后配置环境变量 ...
- [ecmagent][redis学习][1初识redis] redis安装+redis快速教程+python操作redis
# redis安装 # redis安装教程 -- 服务器(ubuntu)安装redis服务 sudo apt-get install redis-server -- 源码安装 -- $ wget ht ...
随机推荐
- svg基础--基本语法与标签
svg系列–基础 这里会总结svg的基础知识和一些经典的案例. svg简介 SVG(Scalable Vector Graphics)is an XML-based Language for crea ...
- java内部类 之private 属性对其他对象的访问限制
public class InnerClass1 { private class Content { private int i; public int value() { // TODO Auto- ...
- b站视频下载技术分享
最近无聊分析了一下b站的视频流协议,简单分享下爬取的流程. 首先先要找到视频对应的aid和cid,aid就相当于av号,而av号对应网页下的每一个视频都有对应的cid,普通视频就是分p,番剧就是集数, ...
- Centos7 编译安装PHP7.2
yum install wget 在 /usr/local/src 目录下载php源码包 wget http://cn2.php.net/distributions/php-7.2.4.tar.gz ...
- jQuery 日常笔记
1.$(document).read(function(){$('p').click(function(){ $('p').hide();})})2.jquery是客户端脚本3.$("p&q ...
- HotSpot学习(二):虚拟机的启动过程源码解析
1. 前言 上文介绍了HotSpot编译和调试的方法,而这篇文章将迈出正式调试的第一步--调试HotSpot的启动过程. 学习启动过程可以帮助我们了解程序的入口,并对虚拟机的运行有个整体的把握,方便日 ...
- Win Docker 安装C盘清理方法之一
背景 由于Docker默认安装到C盘,C盘空间越发的小了,虽然(win10)C盘满了并不会很大影响,但是强迫症患者是不能忍得 解决办法 查询https://stackoverflow.com/ques ...
- Django中一种常见的setting与账密保存/读取方式
前言 在查看别人Django代码的时候,发现很多的manager文件都是类似于 #!/usr/bin/env python import os import sys if __name__ == '_ ...
- 【C++】《C++ Primer 》第十四章
第十四章 重载运算与类型转换 一.基本概念 重载运算符是具有特殊名字的函数:由关键字operator和其后要定义的运算符号共同组成.也包含返回类型.参数列表以及函数体. 当一个重载的运算符是成员函数时 ...
- 剑指offer 面试题3:数组中重复的数字
题目描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个重复的数字. 例如,如果输入长度为 ...