1) Item level security
Set-level security item list. This allows to reach the maximum level, but it has two problems. It is complex to administer. On the other hand you can meet with the ceiling of security elements in a list.
2) Item level security (c#)
The second option is a variant of 1. You can set permissions from an event handler. The advantage is that you decrease manual labor. The downside is you have to develop in C # with Visual Studio.
3) Folder level security
Another option is to create within the list a folder for each user. And set permissions at the folder level. It is easier to manage. Remember that SharePoint supports three levels of permissions: list, folder or item. The disadvantage is the use of folders.
4) Only filter
Another option is to create a field of type person. Assign in that field to the person who can see the item. Then you create a view that filters using [ME]. This option UNSAFE. But it can be an alternative if high security is required.
I think there may be other options using audience or workflows. Or some more complex with C #.