redis 学习笔记

从备份配置文件启动redis
redis-server /myredis/redis.conf

查看redis服务是否在运行
ps -ef | grep redis

进入redis客户端
redis-cli
测试命令:ping 服务器正常返回pong

在redis-cli下关闭redis服务:shutdown

xshell 连接linux
1 在linux服务器上执行命令 service iptables stop 关闭linux防火墙
2 在linux服务器上启动ssh服务 service sshd start
3 连接linux,在xshell 客户端输入命令 ssh root:@******ty@106.13.15.9 22

4 启动redis服务  redis-server /my/redis/myredis.conf

 

redis-cli 使用密码连接 redis
redis-cli -h 106.13.15.9 -p 6379 -a 123

keys *1 :查询跟“1”有关的key
exists k1 :查询key k1是否存在 0:不存在,1:存在
type k1 查询键k1类型
del <key> 删除键
expire <key> <seconds> 为键值设置过期时间
ttl <key> 查看键还有多少秒过期,-1表示永不过期,-2表示键不存在
dbsize 查看键的数目
flushdb 清空当前数据库的键
flushall 清除全部数据库键

String命令
String 存储最大是512M,是二进制安全的可以保存任何数据,比如图片或者序列化的对象
get k1 查询指定键'k1'的键值
set k1 v1 添加键'k1',键值为‘v1’,如果k1已存在则更新,否则新建
append <key> <value> 将给定value添加到指定key的键值的末尾
strlen <key> 获取键的键值长度
setnx <key> <value> 只有在key不存在时新建key值
incr <key> 只能对数字值加1,如果键不存在则会新建键值为0的键,然后再加1,redis命令是原子性的(得益于redis的单线程)
decr <key> 对数字值减1
incrby/decrby <key> 100 加/减100
mset k1 v1 k2 v2 同时设置多个key-value
mget k1 k2 同时获取多个键的value
msetnx k1 v1 k2 v2 k3 v3 只有当k1,k2,k3都不存在时命令才能执行成功
getrange k1 0 3 获取指定键'k1',键值位置0到3的值 如k1值为‘0123456’则返回‘0123’,从0开始编号
setrange k1 3 AAA 设置键‘k1’从3号位置开始的键值为‘AAA’,如k1键值为‘0123456’,则k1的键值会变成‘012AAA6’
setex k8 10 v8 设置键k8的键值为v8值同时设置过期时间为10
getset k10 v1000 返回老值,并且设置新值,如果键不存在会新建值(返回老值nil)

List命令
单键多值(双向链表)
lpush/rpush l1 1 2 3 4 5 从左边/右边向list键l1依次插入键值1 2 3 4 5
lpop/rpop l1 从左边/右边在键l1中吐出一个值,注意连续吐5次,键l1就为空了,此时键l1也不存在了(值在键在,值光键消)
rpoplpush l1 l2 从键l1的右边吐出一个值放到l2的左边,如果l2不存在则会新建
lrange l1 0 3 取出键l1位置在0到3的键值
lrange l1 0 -1 取出键l1所有的元素
lindex l1 0 取出键l1下标为0的元素
llen l1 键l1的长度
linsert l1 before/after 1 12 在键l1键值为1的左边/右边插入新值12
lrem l1 2 23 删除键l1键值为23的元素,如果有多个则删除两个;注意如果删除数量为0则是全部删除

Set命令
值在键在,值无键无
Redis set对外提供的功能与list类似,是一个列表的功能,特殊之处
在于set可以自动去重,并且set提供了判断某个成员是否在一个set集合的接口,这个是list没有的
sadd s1 1 2 3 3 4 向键s1添加1 2 3 4元素,不会重复添加元素
smembers s1 列出s1的所有元素
sismember s1 1 查询元素1是否是键s1的元素 返回1代表是,0代表不是
scard s1 查询集合s1的元素个数
srem s1 1 2 删除集合s1中的元素1和2
spop s1 随机从集合s1中吐出一个值,注意吐出值会删除值
srandmember s1 2 从集合s1中随机取出2个值,不会删除值
sinter s1 s2 返回集合s1和s2的交集元素
sunion s1 s2 返回集合s1和s2的并集元素
sdiff s1 s2 返回集合s1中s2没有的元素

Hash命令
适合存储对象
hset customer:01 age zhangshan 向键customer:01添加字段‘age’,字段值为‘zhangshan’,如果键已有该属性则更新属性值
hget customer:01 age 获取键customer:01字段age的值
hmset c01 name xl age 25 sex w 向键c01添加字段name值为xl,字段age值为25,字段sex为w
hmget c01 name age sex 获取键c01字段name,age,sex的值
hexists c01 age 查询键c01是否有字段age 0-无 1-有
hkeys c01 获取键c01的所有字段
hvals c01 获取键c01的所有字段值
hincrby c01 age 10 把键c01字段age加10
hsetnx c01 age 0 当键c01没有属性age时加上age属性,值为0;如果已有则不会更新

Zset命令
有序set
zadd z1 10 v1 20 v2 30 v3 向键z1依次添加score为10的元素v1,score为20的元素v2,score为30的元素v3;如果已有则会更新
zrange z1 0 -1 按照元素score值升序列出键z1的所有元素
zrange z1 0 -1 withscores 按照元素score值升序列出键z1的所有元素,同时列出每个元素的score
zrevrange z1 0 -1 按照score值降序列出元素
zrangebyscore z1 0 10 列出键z1 0<=元素score<=10的元素,并按score升序列出
zrevrangebyscore z1 10 0 列出键z1 0<=元素score<=10的元素,并按score降序列出
zincrby z1 1000 z10 给键z1的元素z10的score加1000
zrem z1 z10 删除键z1元素z10
zcount z1 1 90 统计键z1中元素score在1到90的元素个数
zrank z1 v1 获取键z1元素v1的排名 从0开始排起

redis 五大数据类型
String,hash,list,set,zset

redis默认16个数据库
切换命令 select 1

C# 连接redis
在redis配置文件中注释掉 bind 127.0.0.1 即配置成 # bind 127.0.0.1
protected-mode配置成 protected-mode no
关闭防火墙 service iptables stop

安装命令:

解压缩命令
在redis压缩包文件夹上级目录下执行命令 tar -zxvf redis-5.0.7.tar.gz
在已解压文件夹目录下
执行 make

如果执行make报错  “make cc Command not found”

解决方法:使用命令 yum install gcc   按照gcc环境

如果执行make报错 “zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory

解决方法:

 

 然后再执行 make install
在 /usr/local/bin里面查看是否安装了redis-server和redis-cli

备注解压缩文件中的redis.conf作为自己以后的redis启动配置文件

redis备份配置文件路径 ,创建文件夹命令 mkdir /myredis
cd /myredis/redis.conf
复制redis备份文件
在已解压文件夹路径下,执行备份命令
cp redis.conf /myredi.conf
修改备份文件中 daemonize yes

linux修改ip
vim /etc/sysconfig/network-scripts/ifcfg-eth0
service network restart

posted @ 2020-12-05 11:18  温故纳新  阅读(100)  评论(0编辑  收藏  举报