What should I do??

I recently got a waitressing job at a local restaurant in my town. A couple nights ago I was talking to some men at a table asking them what they would like to eat and such. My boyfriend was in there and quickly got mad and left without saying goodbye. When he picked me up all he could talk about was how I was in there talking to those men instead of being over there with him. I told him it was my job and I couldn’t help who I had to talk to. Ever since we’ve gotten together he’s always accusing me of talking to other men and trying to have sex with them. He goes through my phone practically everyday and makes me save all my messages so he can read them. He also won’t let me have any male friends what so ever. He says he “knows how men are” and says all they want from me is sex. I even had to stop talking to a guy I was best friends with for 8 years since he thought he was trying to sleep with me. I love him to death, but it’s getting to the point I can’t handle it anymore. He tells me what I can and can’t do, what I can wear, and how I should act. I suggested taking a break but he flipped shit and starting yelling and crying saying that he was sorry and things would change. I just don’t know what to do. I’ve tried several times to tell him my feelings and he’ll cry and say he’ll change but he never does. I’ve asked him on several occasions to please stop calling me names (bitch, slut, whore, dumb etc) when he gets mad but he still does. He always thinks it’s expected of me to have sex with him whenever he wants it. I’m not a very sexual person at all and so I don’t want to have a lot of sex, but I suck it up and do it anyway to make him happy. We have sex pretty much everyday but it still isn’t enough for him. He’ll yell at me and say if I “gave him more pussy maybe he wouldn’t act like this” I just don’t know what to do anymore. I love him but I’m so tired of all this.

Any help/advice is appreciated. Thank you ❤️