Redis

Redis是一个高性能的Key-Value数据库。

学习目标

  • 能够描述出什么是 nosql
  • 能够说出 Redis 的特点
  • 能够根据参考资料修改常用Redis配置
  • 能够写出Redis中string类型数据的增删改查操作命令
  • 能够写出Redis中hash类型数据的增删改查相关命令
  • 能够说出Redis中 list 保存的数据类型
  • 能够使用StrictRedis对象对string类型数据进行增删改查
  • 能够参考课件步骤搭建 Redis 集群

1、Redis安装

  1、下载:(linux)

wget http://download.redis.io/releases/redis-4.0.9.tar.gz

  2、解压:

tar xzf redis-4.0.9.tar.gz

  3、移动,放到user/local目录下

sudo mv ./redis-4.0.9 /usr/local/redis/

  4、进入Redis目录

cd /usr/local/redis/

  5、生成

sudo make

  6、测试

sudo make test

  7、安装,将redis的命令安装到/user/local/bin/目录

sudo make install

  8、查看安装是否成功

cd /usr/local/bin
ls -all
  • redis-server redis服务器
  • redis-cli redis命令行客户端
  • redis-benchmark redis性能测试工具
  • redis-check-aof AOF文件修复工具
  • redis-check-rdb RDB文件检索工具

  9、配置文件,移动到/etc/目录下

配置文件目录为/user/local/redis/redis.conf

sudo cp /usr/local/redis/redis.conf /etc/redis/

配置

Redis的配置信息在/etc/redis/redis.conf下。

查看:

sudo vi /etc/redis/redis.conf

核心配置选项

绑定ip:如果需要远程访问,可将此行注释,或者绑定一个真实的ip

bind 127.0.0.1

端口:默认端口6379

port 6379

是否以守护进程运⾏

  • 如果以守护进程运⾏,则不会在命令⾏阻塞,类似于服务
  • 如果以⾮守护进程运⾏,则当前终端被阻塞
  • 设置为yes表示守护进程,设置为no表示⾮守护进程
  • 推荐设置为yes
daemonize yes

数据文件

dbfilename dump.rdb

数据文件存储路径

dir /var/lib/redis

日志文件

logfile "/var/log/redis/redis-server.log"

数据库,默认有16个

database 16

主从复制,类似于双机备份。

slaveof

服务端(了解客户端与服务端的命令)

服务端的命令为redis-server

可以使用help查看帮助文档

redis-server --help

个人习惯:

ps aux | grep redis 查看redis服务器进程
sudo kill -9 pid 杀死redis服务器
sudo redis-server /etc/redis/redis.conf 指定加载的配置文件

客户端

客户端的命令为redis-cli

帮助文档:

redis-cli --help

链接redis

redis-cli

运行测试命令

ping

切换数据库

数据库没有名称,默认有16个,通过0-15来标识,连接redis默认选择第一个数据库

select 10

数据结构:

  1、能够写出Redis中string类型数据的增删改查操作命令

  2、能够写出Redis中hash类型数据的增删改查命令

Redis是key-value的数据结构,每条数据都是一个键值对

键的类型是字符串(不能重复)

 值的类型分为五种:

字符串(string),哈希(hash)、列表(list)、集合(set)、有序集合(zset)

数据操作行为:

保存,修改,获取,删除。

String类型

  字符串类型是 Redis 中最为基础的数据存储类型,它在 Redis 中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等。在Redis中字符串类型的Value最多可以容纳的数据长度是512M。

保存

如果设置的键不存在则为添加,如果设置的键已经存在则修改

1、设置键值

set key value
#设置键为name,值为itcast的数据
#set name itcast

2、设置键值及过期时间,以秒为单位

setex key seconds value

#设置键为aa值为cc过期时间为3秒的数据
#setex aa 3 cc

3、设置多个键值

mset key1 value1 key2 value2
#设置键为“a1”值为“python”,键为a2,值为java,键为a3,值为c
#mset a1 python a2 java a3 c

4、追加值

append key value
#向键为a1中追加值“abc”
#append a1 haha

获取

1、根据键获取值,如果不存在此键则返回nil

get key
#获取键name的值
get name

2、根据多个键获取多个值

mget key1 key2
#获取a1,a2,a3的值
mget a1 a2 a3

删除(删除键时会将值删除)

键命令:

1、查找键,参数支持正则表达式

keys pattern
#查看所有键
keys *
#查看名称中包含a的键
keys a*

2、判断键是否存在,如果存在返回1,不存在返回0

exists key1
#判断键a1是否存在
exists a1

3、查看键对应的value的类型

type key
#查看键a1的值类型,为redis支持的五种类型中的一种
type a1

4、删除键及对应的值

del key1 key2
#删除键a2,a3
del a2 a3

5、设置过期时间,以秒为单位,如果没有指定过期时间则一直存在,直到使用DEL移除

expire key seconds
#设置键a1的过期时间为20秒
expire a1 3

6、查看有效时间

ttl key
#查看键a1的有效时间
ttl a1

01-String(键命令)的更多相关文章

  1. redis学习笔记-01 string类型命令

    一.set key value set joker 123456 #设定key为joker,value为123456的数据 二.keys * keys * #用于查看该数据库中所有的key值 三.se ...

  2. Redis启动服务和String常用命令

    Redis启动服务和String常用命令 1. 启动Redis服务 E:\redis>redis-server.exe redis.windows.conf _._ _.-``__ ''-._ ...

  3. Redis 的键命令、HyperLogLog 命令、脚本命令、连接命令、服务器命令

    Redis 的键命令.HyperLogLog 命令.脚本命令.连接命令.服务器命令 Redis 的键命令 Redis 的键命令主要用于管理 Redis 的键,如删除键.查询键.修改键及设置某个键等. ...

  4. redis键命令

    1.ping命令用于检测redis是否启动 成功返回pong表示链接成功 2.在远程redis服务上执行命令 Redis-cli -h host -p port -a password 如果是连接本机 ...

  5. Linux基础01 学会使用命令帮助

    Linux基础01 学会使用命令帮助 概述 在linux终端,面对命令不知道怎么用,或不记得命令的拼写及参数时,我们需要求助于系统的帮助文档:linux系统内置的帮助文档很详细,通常能解决我们的问题, ...

  6. kubectl get 后按2次tab键命令补全的失效原因分析

    kubectl get 后按2次tab键命令补全的失效原因分析 2019/10/28 Chenxin a.bash客户端工具 在centos用户下, cd ~;echo "source &l ...

  7. vi简单快键命令

    进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...

  8. Linux使用退格键时出现^H + Tab键命令补全失效/方向键失效 + ls文件夹和文件没有颜色

    删除问题 安装kalilinux使用普通用户的的时候按退格键无法实现删除功能 解决的办法有两个 一改变快捷键: 使用Ctrl+Backspace组合键可以实现删除功能 ctrl + backspace ...

  9. Redis 键命令

    1.设置key值 set name zhangsan 删除key del name 2. 判断key是否存在 exists a,返回1 说明存在:  0 表示不存在 3. 剩余过期时间 ttl 返回- ...

随机推荐

  1. mac下如何搭建python开发环境

    1. 安装brew ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/insta ...

  2. 邹传伟:对人民银行DC/EP的初步分析

    http://opinion.caixin.com/2019-11-01/101477903.html [财新网](专栏作家 邹传伟)2019年10月24日,习总书记在中央政治局第十八次集体学习中指出 ...

  3. 通过idea将maven工程转为web项目

    前言 吐槽一下网上的各种转换教程..说的真的是吵来吵去,有用的东西极少.特此自己写一篇好使的. 转换过程 建好的maven工程 建好的maven工程长这个鬼样子~~,没有使用骨架.就是普通的建立方式. ...

  4. python爬虫网页解析之parsel模块

    08.06自我总结 python爬虫网页解析之parsel模块 一.parsel模块安装 官网链接https://pypi.org/project/parsel/1.0.2/ pip install ...

  5. scrapy在pycharm配置启动(无需命令行启动)

    一.新建文件 run.py这个名字随意哈 方法一. from scrapy.cmdline import execute execute(['scrapy','crawl','爬虫程序名字','-a' ...

  6. PostgreSQL update set from 两表联合更新,注意与其它数据库更新语法有差别

    最近用PostgreSql数据库进行表关联更新时,发现与之前用的Sql Server 和My Sql语法有很大差别,稍微不注意,很容易出错. PostgreSql表更新时,两个表只允许一个表起别名,一 ...

  7. 高级语言——java

    高级语言——java 起源与发展 1991 年,James Gosling 博士发布产品 Oak,这是 Java 语言的前身. 1995 年,Oak 语言改名为 Java. 1996 年,JDK(Ja ...

  8. 编译原理之不懂就问-First集

    老师PPT: 这条语言实在是..通俗易懂

  9. 转载:关于STM32硬件I2C读写EEPROM代码实现原理的理解与总结

    http://home.eeworld.com.cn/my/space-uid-716241-blogid-655190.html 一.I2C协议简介 I2C是两线式串行总线,用于连接微控制器及其外围 ...

  10. Linux方案级ROM/RAM优化记录

    关键词:readelf.bloat-o-meter.graph-size.totalram_pages.reserved.meminfo.PSS.procrank.maps等等. 根据项目的需求,进行 ...