本博客是在学习《Redis从入门到高可用,分布式实践》教程时的笔记。

同时参考:

https://www.cnblogs.com/jiang910/p/10020048.html

一、Redis 初识

1. 下载

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

5.0.7 是当前 Redis 官网最新的稳定版本,大小不到2M。

2. 解压

tar xzf redis-5.0..tar.gz

3. 安装依赖 gcc

yum -y install gcc automake autoconf libtool make

4. 编译

# 进入到目录
cd redis-5.0.7
# 执行命令
make
# 安装
make install

5. 可执行文件说明

只执行 make,未执行 make install 命令时,以下可执行文件只能在 redis/src/ 目录下执行。

①. redis-server :Redis 服务器

②. redis-cli :Redis 命令行客户端

③. redis-benchmark :Redis 性能测试

④. redis-check-aof :AOF 文件修复工具

⑤. redis-check-rdb :RDB 文件修复工具

⑥. redis-sentinel :Sentinel 服务器

6. 启动方式

①. 最简单的 

redis-server

②. 动态参数

redis-server --port 

③. 配置文件

redis-server redis.conf

④. 测试

# 查看进程
ps -ef | grep redis
# 查看端口
netstat -antpl | grep redis
# 命令行访问
redis-cli -h 127.0.0.1 -p
# 执行命令,正常会返回 PONG
ping

7. 配置文件中更改

daemonize no # 是否守护进程启动。改为 yes
bind 127.0.0.1 # 只允许该 ip 访问。注释掉
protected-mode yes # 保护模式。如果使用bind和密码可以开启,否则关闭改为 no
logfile "" # 日志文件。可以设置为 /dir/6379.log
dir ./ # rdb文件 aof文件 存放目录,可以设置为 /dir/

8. 纯净版配置文件

# 查看
cat redis.conf | grep -v "#" | grep -v "^$"
# 输出
> redis-pure.conf

9. 配置文件详解

参考博客:

https://www.cnblogs.com/yiwangzhibujian/p/7067575.html

二、API 的使用和理解

1. 通用命令

mset / mget # 批量设置 / 批量查询
keys * # 遍历所有匹配的 key
dbsize # 计算 key 的总数
exists key # 检查 key 存在
expire key 10 # 设置 key 的过期时间 10 秒
ttl key # 查看剩余过期时间
persist key # 去掉过期时间
type key # 查看类型 

2. 字符串类型

incr key # 自增
decr key # 自减
set name libra # 设置
get name # 查询

3. 哈希类型

hset user:1:info age 23 # 设置
hset user:1:info name libra # 继续设置
hgetall user:1:info # 查询
hdel user:1:info age # 删除1个

4. 列表类型

有序 可以重复

rpush mylist a b c # 按序插入3条
lrange mylist 0 -1 # 遍历列表从 0 开始到最后一个
rpop mylist # 从右边取出1个

5. 集合类型

无序、无重复 支持集合之间操作

sadd user:1:follow it new his sports # 将 n 个元素加入到集合
smembers user:1:follow # 遍历集合
spop user:1:follow # 移除集合中一个随机的元素
scard user:1:follow # 集合数量
sismember user:1:follow entertainment # 判断元素是否在集合中,是 1 否 0

6. 有序集合类型

zadd myset 1000 ronaldo 900 messi 800 c-ronaldo 600 kaka # 将多个元素及下标加入集合
zscore myset kaka # 查看指定元素的下标
zcard myset # 集合长度
zrank myset ronaldo # 查看指定元素的排名
zrem myset messi # 删除元素
zrange myset 0 -1 withscores # 遍历集合

三、SpringBoot 与 Redis 整合

参考博客:

https://www.cnblogs.com/zeng1994/p/03303c805731afc9aa9c60dbbd32a323.html

Redis 学习-安装、数据类型与 API 理解、Java 客户端的更多相关文章

  1. Redis学习笔记之二 :在Java项目中使用Redis

    成功配置redis之后,便来学习使用redis.首先了解下redis的数据类型. Redis的数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set( ...

  2. Memcached学习笔记 — 第四部分:Memcached Java 客户端-gwhalin(1)-介绍及使用

     介绍 Memcached java client是官方推荐的最早的memcached java客户端.最新版本:java_memcached-release_2.6.1. 官方下载地址:http ...

  3. zookeeper原生API做java客户端

    简介 本文是使用apache提供的原生api做zookeeper客户端 jar包 zookeeper-3.4.5.jar   Demo package bjsxt.zookeeper.base; im ...

  4. ZooKeeper学习之路(四)—— Java 客户端 Apache Curator

    一.基本依赖 Curator是Netflix公司开源的一个Zookeeper客户端,目前由Apache进行维护.与Zookeeper原生客户端相比,Curator的抽象层次更高,功能也更加丰富,是目前 ...

  5. Hive学习(三)Hive的Java客户端操作

    Hive的Java客户端操作分为JDBC和Thrifit Client,首先启动Hive远程服务: hive --service hiveserver 一.JDBC 在MyEclipse中首先创建连接 ...

  6. Redis 学习(二) —— 数据类型及操作

    Redis支持string.list.set.zset.hash等数据类型,这一篇学习redis的数据类型.命令及某些使用场景. 一.String,字符串 字符串是 Redis 最基本的数据类型.一个 ...

  7. Redis 学习之数据类型

    该文使用centos6.5 64位 redis-3.2.8 [root@localhost bin]# netstat -tunpl |grep 6379  查看redis 是否启动成功 一.Stri ...

  8. redis学习-sds数据类型

    今天开始了redis的学习,本来想直接从源码看起的,不过看到有篇对redis介绍的基础教程 <Redis 设计与实现(第一版)> 于是决定从这个开始入门. 1.数据类型定义 typedef ...

  9. Redis学习-string数据类型

    Redis 是一个开源的使用 ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志 型.Key-Value 数据库. redis提供五种数据类型string,hash,list,set及sor ...

随机推荐

  1. postgresql 中文排序

    select c_wsxx from fjfl.t_case_anyou order by convert_to(c_wsxx,'GBK') asc;

  2. 深入理解vue中的slot与slot-scope

    from:https://segmentfault.com/a/1190000012996217?utm_source=tag-newest 写在前面 vue中关于插槽的文档说明很短,语言又写的很凝练 ...

  3. Tengine的说明

    什么是Tengine 官方帮助文档:http://tengine.taobao.org/changelog_cn.html

  4. 【翻译】Flink Table Api & SQL — Hive Beta

    本文翻译自官网:Hive Beta https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/hive/ Flink ...

  5. 用于抓取vijos所有题目信息的node.js脚本

    代码如下: var superagent = require('superagent'); var fs = require('fs'); /* fetch_vijos_problems 这个脚本用于 ...

  6. [LeetCode] 354. Russian Doll Envelopes 俄罗斯套娃信封

    You have a number of envelopes with widths and heights given as a pair of integers (w, h). One envel ...

  7. [LeetCode] 557. Reverse Words in a String III 翻转字符串中的单词 III

    Given a string, you need to reverse the order of characters in each word within a sentence while sti ...

  8. ssh登录服务器提示错误no hostkey alg

    ssh登录服务器提示错误no hostkey alg ssh root@192.168.1.100 -vvv 提示失败: no hostkey alg 登录到192.168.1.100服务器 rm - ...

  9. url与uri区别

    url属性: 是要求按照url的写法来写地址 URL:Uniform Resource Locator 统一资源定位符.它是可以唯一标识一个资源的位置 写法: http://localhost:808 ...

  10. TemplateDoesNotExist

    路径问题,可能是没有配置这一行: