复习{
Git: 是 版本提交工具
Svn 本地版本提交工具
Git 联网得到版本提交工具
Git 比Svn 更强大,应用面更广, 林纳斯,为了 版本控制
Linux内核;
基础知识:
1.工作区
git init
2.暂存区
实际上是.git隐藏文件夹里的一个文件
HEAD,index
3.本地仓库
4.远程仓库 gitee (码云)
常用命令:
1.git init
2.git add ok.txt
git checkout 文件名 暂存检出
git checkout HEAD 文件 本地仓库
git reset -hard
-mixed 默认
-soft
3.git commit -m "" 文件
4.git remote add origin .....
5.git pull --rebase origin master
6.git push origin master
7.分支管理: branch
git branch test
git branch
git checkout branch
git merge 分支名
}
redis:
No Sql数据库:
not only Sql 不仅仅是数据库
mysql是关系型数据库: 二维表中 , 文件中
redis是非关系型数据库: key-value ,内存中
什么是redis:
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,
它可以用作数据库、缓存和消息中间件。
它支持多种类型的数据结构,
如 字符串(strings), 散列(hashes), 列表(lists),
集合(sets),有序集合(sorted sets)
事务(transactions) 和不同级别的 磁盘持久化(persistence),
并通过 Redis哨兵(Sentinel)自动 分区(Cluster)
提供高可用性(high availability)。
结果:读的速度是110000次/s,写的速度是81000次/s
redis数据库的数据类型:
1.list
2.set 无序的set 集合
3.hash 哈希
4.sorted set 有序的 set 集合
5.string
tar -zxvf redis-6.0.6.tar.gz /usr/local
cd redis-6.0.6 进入到文件夹中
使用 make 进行安装
安装redis之前 需要添加 gcc 安装环境
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
安装 redis : make distclean && make
会在 src 目录下 出现多个 可执行文件
./redis-server
修改 redis 的后台 运行
1.mkdir redis 用来存储 redis 文件
2.cp redis.conf /usr/local/redis/redis6379.conf
3.cd /usr/local/redis
4.vim redis6379.conf
|-- protected-mode no
|-- daemonize yes 后台 运行
5.运行redis 服务器
./redis-server /usr/local/redis/redis6379.conf
ps -aux | grep redis
top -p 23236
/redis-cli -h 127.0.0.1 -p 6379 -a password
6. 在window上 安装监控软件
修改redis 配置配置文件 ,将 bin 127.0.0.1 注释掉
在用客户端连接
redis默认是 16个数据看
select [0-15] 切换数据库
keys *
strings 字符串类型
1.set key value
2.get key
3.getrange key fromIndex endIndex
4.getset key value 替换为新值 返回旧值
5.mget key1 key2 key3 同时获取多个键的值
6.setex key seconds value 设置指定字段的过期事件
7.setnx key value 设置key的值 如果有就无效, 如果没有就创建
8.strlen key 返回字符串的长度
9.mset key1 value1 key2 value2
10.incr key
11.incrby key increment
12.decr key
13.decrby key decrement
14.append key value 在指定的value值进行拼接
15.del key key 删除指定的键
16.flushdb sync 清除数据库所有数据
lists: 列表(lists),
1. LPUSH key value1 [value2] 创建并添加一个元素到列表中
2. lrange key 0 -1 查所有 默认是 栈结构 后进显出 LIFO
3. blpop key timeout 删除队列的第一个元素
4. brpop key timeout 删除队列的最后一个元素
5. BRPOPLPUSH source destination timeout
6. brpoplpush 员列表 目标列表 4
7. lindex key index 返回指定下标位置的数据
8. LINSERT key BEFORE|AFTER 目标元素 value
在列表的元素前或者后插入元素
9. llen key 查看列表的元素个数
10.lpushx key value 在已存在的列表中添加一个元素
11.lrem key count value 删除指定元素
count > 0 从头查找,删除count 个
count <0 从尾巴查找, 删除 count 个
count = 0; 删除与value值相等的元素
12. lset key index value 将指定索引位置的值替换
13. ltrim key start stop 截取指定区间的元素
14. rpop key 移除最后一个元素
15. rpush key 向列表尾部添加元素
hash: 哈希 适用于存储对象
1. hset key field value
向 hash中添加一组数据
2. hget key field:
获取指定key中的 指定属性的值
3. hmset key field value field value 向 hash中添加多组数据
4. hmget key field filed 一次获取多个 key的值
5. hdel key field 删除指定key 中field的属性值
6. hexists key field 判断哈希表中是否有指定的值
7. hgetall key 查询指定可以的所有 key-value
8. hincrby key increment 将数值型的数据按指定数值增长
9. hkeys key 返回所有属性
10.hvals key 返回所有的值
11.hlen key 返回hash中的元素个数
set类型: 无序 ,不可重复
1.sadd key value1 value2 value3
2.smembers key 获取所有key的值
3.scard key 查询set中的个数
4.sdiff key1 key2 查询不同的数据 , 以第一个key 为准
5.sinter key1 key2 返回交集部分
6.sismember key1 element 判断该集合中是否有指定元素
7.spop key count 随机删除指定key 中的count 个数
8.srandmember key count 随机输出指定个数的数
9.srem key element1 element2 ,删除集合中的元素
sorted set: 有序的set 集合 ,不可以重复,类似于 java中 TreeSet
1.zadd key score value1 score value2
2.zrange key 0 -1 获取集合中的元素
3.zcard key 返回 集合的个数
4.ZCOUNT key min max 查询个数
5.zincrby key score的值 value 修改元素的排名
6.zscore key member 查询指定成员的分数
7.zrank key member 返回指定元素的索引
8.zrem key member member 删除指定成员
string > hash > lists > sets > sorted sets