本博客是在学习《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. EFProf用法

    SQL Server Profiler用来跟踪应用程序发送到SQL Server中的SQL语句,用于检测性能,查找问题.Entity Framework 也有它的跟踪工具EFProf,用于跟踪Enti ...

  2. [LeetCode] 139. Word Break 单词拆分

    Given a non-empty string s and a dictionary wordDict containing a list of non-empty words, determine ...

  3. [LeetCode]577. Employee Bonus 员工奖金

    Select all employee's name and bonus whose bonus is < 1000. Table:Employee +-------+--------+---- ...

  4. Jenkins - 插件管理

    1 - Jenkins插件 Jenkins通过插件来增强功能,可以集成不同的构建工具.云平台.分析和发布工具等,从而满足不同组织或用户的需求. Jenkins 提供了不同的的方法来安装插件(需要不同级 ...

  5. python:pytest中的setup和teardown

    原文:https://www.cnblogs.com/peiminer/p/9376352.html 之前我写的unittest的setup和teardown,还有setupClass和teardow ...

  6. Dynamic Property Wizard 添加类提示 ATL类只能添加到MFC EXE 和MFC规则DLL项目或完全支持ATL的项目 错误提示解决方式

    在重新打开OPM项目添加ATL动态属性向导Dynamic Property Wizard提示错误 ATL类只能添加到MFC EXE 和MFC规则DLL项目或完全支持ATL的项目. 有效的解决方式,右键 ...

  7. mysql 按照计算值排序

    SELECT title,browse_num/exposure_num as click_rate FROM `tf_news` ORDER BY browse_num/exposure_num d ...

  8. [转帖]B树索引和位图索引的结构介绍

    B树索引和位图索引的结构介绍 http://blog.itpub.net/12679300/viewspace-1174236/ 一  前言:? ROWID:包含键值的行的行ID,(查找块的最快方法, ...

  9. [转帖]龙芯3A/3B3000通用处理器出货超30万 获得“中国芯”大奖

    龙芯3A/3B3000通用处理器出货超30万 获得“中国芯”大奖 http://www.eetop.cn/cpu_soc/6946247.html 2019.10 的新闻 出后量 30万 我们贡献了 ...

  10. Kafka性能调优 - Kafka优化的方法

    今天,我们将讨论Kafka Performance Tuning.在本文“Kafka性能调优”中,我们将描述在设置集群配置时需要注意的配置.此外,我们将讨论Tuning Kafka Producers ...