redis
auth myPassword
./redis-server /usr/local/redis/redis.conf &
gcc版本问题,新版本的。redis6.0以上
查看gcc版本
gcc -v
解决办法
升级到 5.3及以上版本
yum -y install centos-release-scl yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils scl enable devtoolset-9 bash
注意:scl命令启用只是临时的,推出xshell或者重启就会恢复到原来的gcc版本。
#如果要长期生效的话,执行如下:
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
ln -sv mysql-5.7.24-linux-glibc2.12-x86_64 mysql
wget http://download.redis.io/releases/redis-6.0.8.tar.gz
# wget http://download.redis.io/releases/redis-6.0.8.tar.gz
# tar xzf redis-6.0.8.tar.gz
# cd redis-6.0.8
# make
执行完 make 命令后,redis-6.0.8 的 src 目录下会出现编译后的 redis 服务程序 redis-server,还有用于测试的客户端程序 redis-cli:
下面启动 redis 服务:
# cd src
# ./redis-server
注意这种方式启动 redis 使用的是默认配置。也可以通过启动参数告诉 redis 使用指定配置文件使用下面命令启动。
# cd src # ./redis-server ../redis.conf
redis.conf 是一个默认的配置文件。我们可以根据需要使用自己的配置文件。
启动 redis 服务进程后,就可以使用测试客户端程序 redis-cli 和 redis 服务交互了。 比如:
# cd src
# ./redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
Ubuntu apt 命令安装
在 Ubuntu 系统安装 Redis 可以使用以下命令:
# sudo apt update
# sudo apt install redis-server
启动 Redis
# redis-server
查看 redis 是否启动?
# redis-cli
以上命令将打开以下终端:
redis 127.0.0.1:6379>
127.0.0.1 是本机 IP ,6379 是 redis 服务端口。现在我们输入 PING 命令。
redis 127.0.0.1:6379> ping
PONG
以上说明我们已经成功安装了redis。
一、基础命令
1.连接服务端
-
redis-cli
-
或
-
redis-cli -h ip地址 -p 端口
2.选择数据库
-
Redis默认支持16个数据库,对外都是以一个从0开始递增数命令。
-
select 1
-
get test
-
-
说明:
-
1.redis不支持自定义数据库名称称
-
2.redis不支持为每个数据库设置访问密码
-
3.redis的多个数据库之间不是完全隔离,flushall命令会清空所有数据
3.设置数据库数量
redis.conf文件中找到databases的关键字修改后边的数字即可
4.设置数据
set key value
5.获取数据
get key
6.判断是否存在
exists key
7.刪除数据
del key
8.判断key类型
type key
9.递增数字
incr num
10.自定义递增数字
incrby num 2
11.递减数字
decr num
12.自定义递减数字
decrby num 3
13.向尾部追加值
-
set str hello
-
append str "world"
-
get str
14.获取字符串长度
strlen key
15.同时设置/获取多个键值
-
mset k1 v1 k2 v2 k3 v3
-
get k1
-
mget k1 k3
16.设置生存时间(单位:秒)
-
set user jack
-
expire user 10 #10秒后被删除
17.清除生存时间
-
set user jack
-
expire user 60
-
persist user #永久保存
18.查看生存时间
-
ttl key
-
TTL返回值:
-
大于0的数字:剩余生存时间,单位为秒
-
-1 : 没有生存时间,永久存储
-
-2 : 数据已经被删除
二、数据类型命令
1.字符串命令
编号 | 命令 | 说明 |
---|---|---|
1 | set key value | 此命令设置指定键的值 |
2 | get key | 获取指定键的值 |
3 | getrange key start end | 获取存储在键上的字符串的子字符串 |
4 | getset key value | 设置键的字符串值并返回其旧值 |
5 | getbit key offset | 返回在键处存储的字符串值中偏移处的位值 |
6 | mget key1 [key2..] | 获取所有给定键的值 |
7 | setbit key offset value | 存储在键上的字符串值中设置或清除偏移处的位 |
8 | setex key seconds value | 使用键和到期时间来设置值 |
9 | setnx key value | 设置键的值,仅当键不存在时 |
10 | setrange key offset value | 在指定偏移处开始的键处覆盖字符串的一部分 |
11 | strlen key | 获取存储在键中的值的长度 |
12 | mset key value [key value …] | 为多个键分别设置它们的值 |
13 | msetnx key value [key value …] | 为多个键分别设置它们的值,仅当键不存在时 |
14 | psetex key milliseconds value | 设置键的值和到期时间(以毫秒为单位) |
15 | incr key | 将键的整数值增加1 |
16 | incrby key increment | 将键的整数值按给定的数值增加 |
17 | incrbyfloat key increment | 将键的浮点值按给定的数值增加 |
18 | decr key | 将键的整数值减1 |
19 | decrby key decrement | 按给定数值减少键的整数值 |
20 | append key value | 将指定值附加到键 |
2.哈希命令
编号 | 命令 | 说明 |
---|---|---|
1 | hdel key field2 [field2] | 删除一个或多个哈希字段 |
2 | hexists key field | 判断是否存在散列字段。 |
3 | hget key field | 获取存储在指定键的哈希字段的值 |
4 | hgetall key | 获取存储在指定键的哈希中的所有字段和值 |
5 | hincrby key field increment | 将哈希字段的整数值按给定数字增加 |
6 | hincrbyfloat key field increment | 将哈希字段的浮点值按给定数值增加 |
7 | hkeys key | 获取哈希中的所有字段 |
8 | hlen key | 获取散列中的字段数量 |
9 | hmget key field1 [field2] | 获取所有给定哈希字段的值 |
10 | hmset key field1 value1 [field2 value2 ] | 为多个哈希字段分别设置它们的值 |
11 | hset key field value | 设置散列字段的字符串值 |
12 | hsetnx key field value | 仅当字段不存在时,才设置散列字段的值 |
13 | hvals key | 获取哈希中的所有值 |
3.列表命令
编号 | 命令 | 说明 |
---|---|---|
1 | blpop key1 [key2 ] timeout | 删除并获取列表中的第一个元素,或阻塞,直到有一个元素可用 |
2 | brpop key1 [key2 ] timeout | 删除并获取列表中的最后一个元素,或阻塞,直到有一个元素可用 |
3 | brpoplpush source destination timeout | 从列表中弹出值,将其推送到另一个列表并返回它; 或阻塞,直到一个可用 |
4 | lindex key index | 通过其索引从列表获取元素 |
5 | linsert key before/after pivot value | 在列表中的另一个元素之前或之后插入元素 |
6 | llen key | 获取列表的长度 |
7 | lpop key | 删除并获取列表中的第一个元素 |
8 | lpush key value1 [value2] | 将一个或多个值添加到列表 |
9 | lpushx key value | 仅当列表存在时,才向列表添加值 |
10 | lrange key start stop | 从列表中获取一系列元素 |
11 | lrem key count value | 从列表中删除元素 |
12 | lset key index value | 通过索引在列表中设置元素的值 |
13 | ltrim key start stop | 修剪列表的指定范围 |
14 | rpop key | 删除并获取列表中的最后一个元素 |
15 | rpoplpush source destination | 删除列表中的最后一个元素,将其附加到另一个列表并返回 |
16 | rpush key value1 [value2] | 将一个或多个值附加到列表 |
17 | rpushx key value | 仅当列表存在时才将值附加到列表 |
4.集合命令
编号 | 命令 | 说明 |
---|---|---|
1 | sadd key member1 [member2] | 将一个或多个成员添加到集合 |
2 | scard key | 获取集合中的成员数 |
3 | sdiff key1 [key2] | 减去多个集合 |
4 | sdiffstore destination key1 [key2] | 减去多个集并将结果集存储在键中 |
5 | sinter key1 [key2] | 相交多个集合 |
6 | sinterstore destination key1 [key2] | 交叉多个集合并将结果集存储在键中 |
7 | sismember key member | 判断确定给定值是否是集合的成员 |
8 | smove source destination member | 将成员从一个集合移动到另一个集合 |
9 | spop key | 从集合中删除并返回随机成员 |
10 | srandmember key [count] | 从集合中获取一个或多个随机成员 |
11 | srem key member1 [member2] | 从集合中删除一个或多个成员 |
12 | sunion key1 [key2] | 添加多个集合 |
13 | sunionstore destination key1 [key2] | 添加多个集并将结果集存储在键中 |
14 | sscan key cursor [MATCH pattern] [COUNT count] | 递增地迭代集合中的元素 |
redis 127.0.0.1:6379> INFO
# Server
redis_version:2.5.9
redis_git_sha1:473f3090
redis_git_dirty:0
os:Linux 3.3.7-1-ARCH i686
arch_bits:32
multiplexing_api:epoll
gcc_version:4.7.0
process_id:8104
run_id:bc9e20c6f0aac67d0d396ab950940ae4d1479ad1
tcp_port:6379
uptime_in_seconds:7
uptime_in_days:0
lru_clock:1680564
# Clients
connected_clients:1
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0
# Memory
used_memory:439304
used_memory_human:429.01K
used_memory_rss:13897728
used_memory_peak:401776
used_memory_peak_human:392.36K
used_memory_lua:20480
mem_fragmentation_ratio:31.64
mem_allocator:jemalloc-3.0.0
# Persistence
loading:0
rdb_changes_since_last_save:0
rdb_bgsave_in_progress:0
rdb_last_save_time:1338011402
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:-1
rdb_current_bgsave_time_sec:-1
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
# Stats
total_connections_received:1
total_commands_processed:0
instantaneous_ops_per_sec:0
rejected_connections:0
expired_keys:0
evicted_keys:0
keyspace_hits:0
keyspace_misses:0
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:0
# Replication
role:master
connected_slaves:0
# CPU
used_cpu_sys:0.03
used_cpu_user:0.01
used_cpu_sys_children:0.00
used_cpu_user_children:0.00