Redis 学习-安装、数据类型与 API 理解、Java 客户端
本博客是在学习《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 客户端的更多相关文章
- Redis学习笔记之二 :在Java项目中使用Redis
成功配置redis之后,便来学习使用redis.首先了解下redis的数据类型. Redis的数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set( ...
- Memcached学习笔记 — 第四部分:Memcached Java 客户端-gwhalin(1)-介绍及使用
介绍 Memcached java client是官方推荐的最早的memcached java客户端.最新版本:java_memcached-release_2.6.1. 官方下载地址:http ...
- zookeeper原生API做java客户端
简介 本文是使用apache提供的原生api做zookeeper客户端 jar包 zookeeper-3.4.5.jar Demo package bjsxt.zookeeper.base; im ...
- ZooKeeper学习之路(四)—— Java 客户端 Apache Curator
一.基本依赖 Curator是Netflix公司开源的一个Zookeeper客户端,目前由Apache进行维护.与Zookeeper原生客户端相比,Curator的抽象层次更高,功能也更加丰富,是目前 ...
- Hive学习(三)Hive的Java客户端操作
Hive的Java客户端操作分为JDBC和Thrifit Client,首先启动Hive远程服务: hive --service hiveserver 一.JDBC 在MyEclipse中首先创建连接 ...
- Redis 学习(二) —— 数据类型及操作
Redis支持string.list.set.zset.hash等数据类型,这一篇学习redis的数据类型.命令及某些使用场景. 一.String,字符串 字符串是 Redis 最基本的数据类型.一个 ...
- Redis 学习之数据类型
该文使用centos6.5 64位 redis-3.2.8 [root@localhost bin]# netstat -tunpl |grep 6379 查看redis 是否启动成功 一.Stri ...
- redis学习-sds数据类型
今天开始了redis的学习,本来想直接从源码看起的,不过看到有篇对redis介绍的基础教程 <Redis 设计与实现(第一版)> 于是决定从这个开始入门. 1.数据类型定义 typedef ...
- Redis学习-string数据类型
Redis 是一个开源的使用 ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志 型.Key-Value 数据库. redis提供五种数据类型string,hash,list,set及sor ...
随机推荐
- 【转】Python访问oracle数据库,DPI-1047: Cannot locate a 64-bit Oracle Client library: "The specified module could not be found"
使用python连接Oracle,出现如下错误: DPI-1047: Cannot locate a 64-bit Oracle Client library: "The specified ...
- [LeetCode] 531. Lonely Pixel I 孤独的像素 I
Given a picture consisting of black and white pixels, find the number of black lonely pixels. The pi ...
- Java Servlet:服务器小程序
servlet:服务器小程序 servlet是一个接口,接口是一种规范,因此servlet是一种规范 一个类声明为抽象类的原因: 不包含抽象方法,不想被实例化 包含抽象方法,子类有对抽象方法的不同实现 ...
- consul集群搭建以及ACL配置
由于时间匆忙,要是有什么地方没有写对的,请大佬指正,谢谢.文章有点水,大佬勿喷这篇博客不回去深度的讲解consul中的一些知识,主要分享的我在使用的时候的一些操作和遇见的问题以及解决办法.当然有些东西 ...
- mongoDB主从和集群
主从(windows下的配置) 主服务器设置 mongod --dbpath=F:\mongoDB\db --master \\dbpath是设定数据存放路径 --master是指定为主库 从服务器设 ...
- 【VS开发】VS2015没修改源文件也导致重新编译的解决办法
在使用VS2010编译C++程序的时候,每次修改工程中的某一个文件,点击"生成-仅用于项目-仅生成**"时,往往都是整个工程都需要重新编译一遍.由于这个工程代码量太大,每次编译完成 ...
- Oracle spatial空间查询的选择度分析
在上一篇中,我用一个案例演示了对于数值或字符串类型的字段,选择度的计算方法.并证明了当字段值的选择度不同时,将会影响CBO选择最终的执行计划.对于可排序的字段类型,选择度计算模型已经有很多人写博客介绍 ...
- QT QML与C++混搭
"那些杀不死我的必使我更加强大"----尼采 QML与C++混合编程就是使用QML高效便捷地构建UI,而C++则用来实现业务逻辑和复杂算法. ML访问C++Qt集成了QML引擎和Q ...
- [转帖]keepalived工作原理和配置、使用
keepalived工作原理和配置.使用 https://www.iteye.com/blog/aoyouzi-2288124 keepalived是什么 keepalived是集群管理中保证集群高可 ...
- python3遇到的问题
a bytes-like object is required,not str': 问题出在python3.5和Python2.7在套接字返回值解码上有区别:python bytes和str两种类型可 ...