Redis5.0.7安装使用及与Java交互(Centos7+JDK8)

Gretel ·
更新时间:2024-09-20
· 911 次阅读

一、Redis的安装

[root@192 ~]# clear [root@192 ~]# cd /usr/local/src [root@192 src]# rz [root@192 src]# ls redis-5.0.7.tar.gz [root@192 src]# tar -xzvf redis-5.0.7.tar.gz [root@192 src]# yum install -y install [root@192 src]# cd redis-5.0.7 [root@192 redis-5.0.7]# make PREFIX=/usr/local/redis-5.0.7 install [root@192 redis-5.0.7]# cp /usr/local/src/redis-5.0.7/redis.conf /usr/local/redis-5.0.7/bin [root@192 redis-5.0.7]# cd /usr/local/redis-5.0.7/bin [root@192 bin]# ./redis-server ./redis.conf & [1] 5465 [root@192 bin]# 5465:C 27 Feb 2020 23:45:53.058 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 5465:C 27 Feb 2020 23:45:53.058 # Redis version=5.0.7, bits=64, commit=00000000, modified=0, pid=5465, just started 5465:C 27 Feb 2020 23:45:53.058 # Configuration loaded 5465:M 27 Feb 2020 23:45:53.058 * Increased maximum number of open files to 10032 (it was originally set to 1024). _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 5.0.7 (00000000/0) 64 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in standalone mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379 | `-._ `._ / _.-' | PID: 5465 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-' 5465:M 27 Feb 2020 23:45:53.059 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. 5465:M 27 Feb 2020 23:45:53.059 # Server initialized 5465:M 27 Feb 2020 23:45:53.059 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. 5465:M 27 Feb 2020 23:45:53.059 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled. 5465:M 27 Feb 2020 23:45:53.059 * Ready to accept connections

二、Redis的使用

# 启动 Redis 客户端 [root@192 bin]# ls redis-benchmark redis-check-rdb redis.conf redis-server redis-check-aof redis-cli redis-sentinel [root@192 bin]# ./redis-cli # 背景介绍 # Redis的数据结构为Key-Value,其中Key都是字符串,而Value有五种不同的数据结构 # 1) 字符串类型 string;    # 2) 哈希类型 hash: map格式;    # 3) 列表类型 list: linkedlist格式,支持重复元素; # 4) 集合类型 set : 不允许重复元素; # 5) 有序集合类型 sortedset: 不允许重复元素,且元素有顺序; # 1.字符串类型 string # 1.1 存储string: set key value 127.0.0.1:6379> set string redis OK # 1.2 获取string: get key 127.0.0.1:6379> get string "redis" # 1.3 删除string: del key 127.0.0.1:6379> del string (integer) 1 # 2.哈希类型 hash: # 2.1 存储hash: hset key field value 127.0.0.1:6379> hset hash class 043 (integer) 1 127.0.0.1:6379> hset hash name GDP (integer) 1 # 2.2 获取hash # 2.2.1 获取指定的field对应的值: hget key field 127.0.0.1:6379> hget hash class "043" # 2.2.2 获取所有的field和value 127.0.0.1:6379> hgetall hash 1) "class" 2) "043" 3) "name" 4) "GDP" # 2.3 删除hash: hdel key field 127.0.0.1:6379> hdel hash class (integer) 1 # 3.列表类型list # 3.1 添加list # 3.1.1 将元素加入列表左表: lpush key value 127.0.0.1:6379> lpush list a (integer) 1 127.0.0.1:6379> lpush list b (integer) 2 127.0.0.1:6379> lpush list c (integer) 3 # 3.1.2 将元素加入列表右表: rpush key value 127.0.0.1:6379> rpush list d (integer) 4 127.0.0.1:6379> rpush list d (integer) 5 # 3.2 获取list: lrange key start end 127.0.0.1:6379> lrange list 0 -1 1) "c" 2) "b" 3) "a" 4) "d" 5) "d" # 3.3 删除list # 3.3.1 删除列表左边的元素,并将元素返回: lpop key 127.0.0.1:6379> lpop list "c" # 3.3.2 删除列表右边的元素,并将元素返回: rpop key 127.0.0.1:6379> rpop list "d" # 4. 集合类型set:(不允许重复元素) # 4.1 存储set: sadd key value 127.0.0.1:6379> sadd set a (integer) 1 127.0.0.1:6379> sadd set b (integer) 1 127.0.0.1:6379> sadd set c (integer) 1 # 4.2 获取set集合中所有元素: smembers key 127.0.0.1:6379> smembers set 1) "c" 2) "a" 3) "b" # 4.3 删除set集合中指定的某个元素: srem key value 127.0.0.1:6379> srem set a (integer) 1 # 5. 有序集合类型 sortedset: 不允许重复元素,且元素有顺序,每个元素都会关联一个double类型的分数,redis根据这个分数来为集合中的成员进行从小到大的排序. # 5.1 存储sortedset: zadd key score value 127.0.0.1:6379> zadd sortedset 97 a (integer) 1 127.0.0.1:6379> zadd sortedset 98 b (integer) 1 127.0.0.1:6379> zadd sortedset 99 c (integer) 1 # 5.2 获取sortedset: zrange key start end [withscores] 127.0.0.1:6379> zrange sortedset 0 -1 1) "a" 2) "b" 3) "c" 127.0.0.1:6379> zrange sortedset 0 -1 withscores 1) "a" 2) "97" 3) "b" 4) "98" 5) "c" 6) "99" # 5.3 删除sortedset: zrem key value 127.0.0.1:6379> zrem sortedset b (integer) 1 # 6. 通用命令: # 6.1 keys *: 查询所有键; # 6.2 type key: 获取键对应的value类型; # 6.3 del key: 删除指定的key value

二、Redis配置文件

# Redis是内存数据库,一旦电脑重启,则所有数据丢失,但可以修改配置文件来持久化该数据库的存储于硬盘中 # 1. RDB: 默认使用该方式进行持久化,即在一定的时间间隔内,检测到key的变化情况,然后持久化数据 # 1.1 redis.conf文件的配置 # after 900 sec (15 min) if at least 1 key changed save 900 1 # after 300 sec (5 min) if at least 10 keys changed save 300 10 # after 60 sec if at least 10000 keys changed save 60 10000 # 1,2 重启该服务器并指定配置文件的名称 [root@192 ~]# cd /usr/local/redis-5.0.7/bin [root@192 bin]# ls dump.rdb redis-check-aof redis-cli redis-sentinel redis-benchmark redis-check-rdb redis.conf redis-server [root@192 bin]# ./redis-server redis.conf # AOF: 日志记录的方式,可以记录每一条命令的操作,在每一次命令操作后持久化数据 # 2.1 redis.conf文件的配置 appendonly no(关闭aof) --> appendonly yes (开启aof) # appendfsync always : 每一次操作都进行持久化 appendfsync everysec : 每隔一秒进行一次持久化 # appendfsync no : 不进行持久化


 


作者:脚踏实地的理想主义者



安装 jdk8 JAVA jdk Redis centos

需要 登录 后方可回复, 如果你还没有账号请 注册新账号